Ho installato alembic 0.3.4, sqlalchemy, SQLite versione 3.7.4 e aggiornato SQLAlchemy 0.6.4 a SQLAlchemy 0.7 o versione successiva dalla mia ubuntu. Ho seguito le istruzioni: http://alembic.readthedocs.org/en/latest/tutorial.htmlRichiedere un semplice esempio di funzionamento alambicco per la generazione automatica di migrazioni
Ora sto testando: Auto Generazione Migrazioni ho creato un pacchetto: schemi, e un indicatore pacchetto sotto schemi: init .py con una linea definita:
__all__ = ["teacher"]
ho anche creato un file di modulo: dbmodel.py nella directory schemi con tenore di
Base = declarative_base()
class teacher(Base):
__tablename__ = 'teacher'
id = Column(Integer, primary_key=True)
name = Column(String)
department = Column(String)
a wa y, ho creato un db sqlite, e sta funzionando bene per fare qualche test prima di Auto Generating Migrations. Ho configurato il file env.py. Ci sono due linee:
from schemas.dbmodel import Base
target_metadata = Base.metadata
Poi corro:
alembic revision --autogenerate -m "Added teacher table"
ma ancora ottenere l'errore:
Traceback (most recent call last):
File "/usr/local/bin/alembic", line 9, in <module>
load_entry_point('alembic==0.3.4', 'console_scripts', 'alembic')()
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/config.py", line 229, in main
**dict((k, getattr(options, k)) for k in kwarg)
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/command.py", line 93, in revision
script.run_env()
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/script.py", line 188, in run_env
util.load_python_file(self.dir, 'env.py')
File "/usr/local/lib/python2.7/dist-packages/alembic-0.3.4-py2.7.egg/alembic/util.py", line 185, in load_python_file
module = imp.load_source(module_id, path, open(path, 'rb'))
File "alembic/env.py", line 20, in <module>
from schemas.dbmodel import Base
ImportError: No module named schemas.dbmodel
non so perché è così difficile per me prova un semplice esempio con alambicco. Voglio solo importare il modello di dati dell'applicazione nel modello di database fisico. È così complicato? Grazie. Per favore qualcuno che conosca alambicco ci dia un semplice esempio passo dopo passo. Immagino che più persone ne trarranno beneficio.
Quindi, dove nel codice è presente l'URL del database SQLite? Ho ottenuto questo per funzionare da un'applicazione piramidale esistente che utilizzava migrazioni sqlalchemy. Per farlo funzionare ho dovuto eseguire il bootstrap della connessione url/db come fa la piramide e quindi caricare il mio modello Base da lì. https://github.com/mitechie/Bookie/blob/develop/dbversions/env.py#L12 – Rick
Nel file: alembic.ini, l'ho configurato e aggiunto una riga: sqlalchemy.url = sqlite: /// test This ha lavorato per migrare la modifica dello schema nel mio DB di test. – user1342336