Reverse Engineering SQLAlchemy deklarative Klassendefinition aus vorhandenen MySQL-Datenbank?

StackOverflow https://stackoverflow.com/questions/1425412

  •  07-07-2019
  •  | 
  •  

Frage

Ich habe eine bereits bestehende MySQL-Datenbank mit rund 50 Tabellen.

Anstatt Hand-Code eine deklarative Stil sqlalchemy Klasse (

War es hilfreich?

Lösung

sqlautocode :

Es ist ein flexibles Werkzeug, ein Modell aus einer bestehenden Datenbank automatisch zu generieren.

Dies ist eine etwas andere Herangehensweise an SqlSoup , die Sie Tabellen verwenden können, ohne explizit definieren sie. Auf der anderen Seite wird sqlalutocode tatsächlichen Python-Code generieren.

Andere Tipps

Jetzt (im Jahr 2015), die Sie wahrscheinlich verwenden möchten https://pypi.python.org/pypi / sqlacodegen statt!

Beachten Sie deklarative kann mit reflektiertem Tabellen verwendet werden. Also, wenn die Startzeit kein großes Problem sind Sie könnten dies tun:

engine = create_engine('mysql://...')
meta = MetaData()
meta.reflect(bind=engine)
for table in meta.tables.values():
    print """
class %s(Base):
    __table__ = Table(%r, Base.metadata, autoload=True)

""" % (table.name, table.name)

anders als das Autocode ist wahrscheinlich der Weg zu gehen.

SqlSoup kann introspektiv Abbildung eines vorhandenen SQL-Schema durchführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top