Sto iniziando a scrivere test con Flask-SQLAlchemy, e mi piacerebbe aggiungere alcuni proiettori per quelli. Ho un sacco di dati validi per questo nel mio database di sviluppo e un sacco di tabelle in modo da scrivere manualmente i dati sarebbe fastidioso. Mi piacerebbe molto semplicemente campionare i dati dal database di sviluppo in fixture e quindi usarli. Qual è un buon modo per farlo?Come generare infissi dal database con SqlAlchemy
9
A
risposta
0
Se è necessario gestire infissi con SQLAlchemy o in un altro ORM/backend poi il pacchetto di fissaggio può essere utile: Flask-Fixtures 0.3.3
Quella è una semplice libreria che consente di aggiungere dispositivi di database per il test di unità utilizzando nient'altro che JSON o YAML.
2
userei factory boy
per creare un modello di fabbrica basta fare:
import factory
from . import models
class UserFactory(factory.Factory):
class Meta:
model = models.User
first_name = 'John'
last_name = 'Doe'
admin = False
poi per creare casi:
UserFactory.create()
per aggiungere dati statici basta dare come kwarg per creare
UserFactory.create(name='hank')
così da seminare un mucchio di roba che gira in un ciclo for. :)
Per le persone che vedono questo in futuro: ho finito per scrivere uno script che campiona il mio database e scrive fixtures su un file da quello che carico su richiesta. È unico per il mio schema e sicuramente non l'approccio migliore. Spero che qualcuno si presenti qualcosa di meglio. Ho anche provato ad usare il modulo Fixture (http://farmdev.com/projects/fixture/), ma non ho avuto molta fortuna a farlo funzionare. – Eli
Sto cercando la stessa cosa, mi piacerebbe trovare qualcosa ... – pip