2015-04-05 3 views
4

Я знаю, что нужно использовать объект MetaData, в SQLAlchemy, но я не знаю, как использовать его с классом,Как создать классы из существующих таблиц с использованием колбовой SQLaclhemy

db = SQLAlchemy(app) 
meta =db.Metadata() 
class orders(db.model): 
    pass 

Как я передать метаобъект классу, чтобы он автоматически генерировал схему таблицы?

ответ

5

Ну, вы можете использовать функцию автозагрузки SQLAlchemy, но я до сих пор не понял, как использовать это из flask-sqlalchemy. Вот вам учебник, если вы хотите прочитать об этом в любом случае: SQLAlchemy Connecting to pre-existing databases. Лучшее решение, которое я нашел на данный момент, это использовать sqlautocode для генерации моделей SQLAlchemy из существующих таблиц в вашей базе данных. Я знаю, что было бы предпочтительнее, если SQLAlchemy будет обрабатывать это автоматически, но я не могу найти способ сделать это из Flask.

Вот как его использовать:

sqlautocode mysql://<dbuser>:<pass>@localhost:3306/<dbname> -o alchemy_models.py 

Это будет генерировать модели и поместить их в файл alchemy_models.py. Я надеюсь, что это поможет

+3

Спасибо за отзыв о sqlautocode. В качестве обновления sqlautocode теперь заменяется на [sqlacodegen] (https://bitbucket.org/agronholm/sqlacodegen), который поддерживает SQLAlchemy 0.6 - 1.0 и совместим с Python3. –

Смежные вопросы