2015-07-02 12 views
9

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

+0

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

+0

Sto cercando la stessa cosa, mi piacerebbe trovare qualcosa ... – pip

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. :)

Problemi correlati