2015-08-18 3 views
2

Возможно ли сбросить данные метаданных из базы данных в файл?sqlalchemy dump metadata to file

У меня огромный стол (более 50 столбцов), и я не хочу делать это вручную.

Я хочу, чтобы создать файл, как это:

class mytable(Base): 
    __tablename__ = 'mytable' 
    id = Column(Integer, primary_key=True) 
    ... 

поэтому будет хорошо, если я могу экспортировать напрямую, а не так:

mytable = Table('mytable', metadata, autoload=True) 

mytable.export('myfile.py') 

и это создаст свой файл

ответ

1

Используйте sqlacodegen для этого. Он даже попытается угадать связь между вашими моделями.

Основная документация на странице Overview. Также запустите sqlacodegen --help, чтобы увидеть полный список опций. В вашем случае вы можете указать только одну таблицу.

+0

спасибо, но я получил 'TypeError: __init __() получил несколько значений аргумента«_warn_on_bytestring'' –

+0

получил его, я пытался импортировать вид .. спасибо это работает –

+0

я только что получил ошибку „сортировки“ на задать поле, любая идея, почему? –