Anforderung eine einfache erledigter Arbeit Beispiel für die Automatische Generierung von Migrationen

Ich installiert alembic 0.3.4, sqlalchemy, SQLite version 3.7.4 und aktualisiert SQLAlchemy 0.6.4 zu SQLAlchemy 0,7 oder größer von meinem ubuntu.
Ich folgte die Anweisung: http://alembic.readthedocs.org/en/latest/tutorial.html

Bin ich nun testen: Automatische Generierung von Migrationen
Ich habe ein Paket: schemas, und ein Paket-marker unter schemas: init.py
mit einer Zeile definiert:

__all__ = ["teacher"]

Ich habe auch ein Modul der Datei: dbmodel.py in Schemata-Verzeichnis unter content

Base = declarative_base()
class teacher(Base):
      __tablename__ = 'teacher' 
      id = Column(Integer, primary_key=True)
      name = Column(String)
      department = Column(String)

Übrigens, ich habe eine sqlite db erstellt, und es läuft gut für das tun einige Tests, bevor die Automatische Generierung von Migrationen. Ich konfigurierte die env.py Datei. Es gibt zwei Zeilen Hinzugefügt:

from schemas.dbmodel import Base
target_metadata = Base.metadata

Dann habe ich ausgeführt:

alembic revision --autogenerate -m "Added teacher table"

aber bekomme immer noch Fehlermeldung:

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

Ich weiß nicht, warum es so schwierig für mich zu testen, ein einfaches Beispiel mit alembic. Ich möchte nur der import meiner Anwendung Daten-Modell in den physischen Datenbank-Modell. Ist das so kompliziert? Danke. Bitte jemand, der weiß, alembic gibt uns eine einfache stehen im Beispiel Schritt für Schritt durch. Ich denke mehr Leute werden davon profitieren.

  • Also wo in deinem code ist die url zu der sqlite-Datenbank? Ich habe diese arbeiten von einem bestehenden Pyramide Anwendung, die Verwendung von sqlalchemy-Migrationen. Um um dieses zu erhalten, Arbeit, die ich hatte, um die bootstrap-url/db-Verbindung als Pyramide hat und dann zu laden, bis mein Modell Base von dort. github.com/mitechie/Bookie/blob/develop/dbversions/env.py#L12
  • In Datei: alembic.ini, ich habe es konfiguriert und Hinzugefügt eine Linie: sqlalchemy.url =sqlite:///test funktionierte Dies für die Migration von schema-änderung an meiner test-DB.
InformationsquelleAutor user1342336 | 2012-06-30
Schreibe einen Kommentar