Я пытаюсь создать 3 таблицы с SQLAlchemy декларативно, как описано здесь http://flask.pocoo.org/docs/1.0/patterns/sqlalchemy/. Однако, когда я запускаю свой модуль database.py, таблицы на самом деле никогда не создаются.Может ли кто-нибудь указать мне правильное руководство о том, что я делаю неправильно?
# database.py
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine(os.environ.get('DATABASE_URL'), echo=True,
convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=True,
bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()
def init_db():
import models
Base.metadata.create_all(bind=engine)
if __name__ == '__main__':
init_db()here
Внутри файла models.py я определяю свои модели для создания таблиц.Когда я запускаю database.py, я получаю вывод
$ python database.py
2018-12-05 16:26:37,551 INFO sqlalchemy.engine.base.Engine select version()
2018-12-05 16:26:37,552 INFO sqlalchemy.engine.base.Engine {}
2018-12-05 16:26:38,072 INFO sqlalchemy.engine.base.Engine select
current_schema()
2018-12-05 16:26:38,072 INFO sqlalchemy.engine.base.Engine {}
2018-12-05 16:26:38,597 INFO sqlalchemy.engine.base.Engine SELECT CAST('test
plain returns' AS VARCHAR(60)) AS anon_1
2018-12-05 16:26:38,597 INFO sqlalchemy.engine.base.Engine {}
2018-12-05 16:26:38,863 INFO sqlalchemy.engine.base.Engine SELECT CAST('test
unicode returns' AS VARCHAR(60)) AS anon_1
2018-12-05 16:26:38,863 INFO sqlalchemy.engine.base.Engine {}
2018-12-05 16:26:39,383 INFO sqlalchemy.engine.base.Engine show
standard_conforming_strings
2018-12-05 16:26:39,383 INFO sqlalchemy.engine.base.Engine {}
Как вы можете видеть, никакие фактические команды SQL не выдаются для создания таблиц, и я в растерянности относительно того, что я делаю неправильно.У кого-нибудь есть идеи относительно того, почему таблицы не создаются?