Ben alembic 0.3.4, sqlalchemy, SQLite sürüm 3.7.4 yükledim ve SQLAlchemy 0.6.4'ü SQLBuchemy 0.7 veya daha yüksek bir değerle ubuntu'dan yükselttim. http://alembic.readthedocs.org/en/latest/tutorial.htmlOtomatik Oluşturma İşlemleri için basit bir alembic çalışma örneği isteğinde bulunun
Şimditest ediyorum: şemaları ve şemaları altında paket işaretleyici: init tanımlanan bir çizgiyle .py :
__all__ = ["teacher"]
Oto Yaratma Göçler ben bir paket oluşturduk Ben talimat takip wa tarafından içeriğin altındaki
Base = declarative_base()
class teacher(Base):
__tablename__ = 'teacher'
id = Column(Integer, primary_key=True)
name = Column(String)
department = Column(String)
ile şemalar dizinde dbmodel.py:
Ben de bir modül dosyası oluşturduk y, Oluşturduğum bir sqlite db var ve o Otomatik Oluşturma Göçler önce bazı test yapmak için çalışıyor. Env.py dosyasını yapılandırdım. Orada iki satır eklendi:
alembic revision --autogenerate -m "Added teacher table"
rağmen hata olsun:
from schemas.dbmodel import Base
target_metadata = Base.metadata
Sonra çalıştırmak beni sınamak için bu kadar zor olmasının nedeni
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
Bilmiyorum alembic kullanarak basit bir örnek. Uygulama veri modelimi fiziksel veritabanı modeline aktarmak istiyorum. Bu çok mu karmaşık? Teşekkürler. Lütfen alemik bilen biri bize adım adım basit bir exaple verir. Sanırım daha fazla insan bundan faydalanacak.
Kodunuzda sqlite veritabanının URL'si nedir? Bunu, sqlalchemy-migrations kullanan bir piramit uygulamasından çalıştım. Bunun işe yaraması için, url/db bağlantısını piramit yapıp önyükleme yapmak zorunda kaldım ve oradan benim Model Tabanımımı yüklemek zorunda kaldım. https://github.com/mitechie/Bookie/blob/develop/dbversions/env.py#L12 – Rick
Dosyada: alembic.ini, onu yapılandırdım ve bir satır ekledim: sqlalchemy.url = sqlite: /// test Bu şema değişiklikimi test DB'ye taşımak için çalıştı. – user1342336