我正在使用flask_sqlalchemy创建用户表,并尝试使用flask_migrate进行迁移。但是没有创建用户表。 .db文件已在项目目录中生成,但在迁移/版本中未生成任何版本。 如何解决这个问题?
我关注了这些文章,但是没有找到解决方案。以下是文章:- https://flask-migrate.readthedocs.io/en/latest/ https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app,db)
from app import routes
我在终端上得到了这个输出 flask db migration -m'用户'
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.env] No changes in schema detected.
and expected output was :
(venv) $ flask db migrate -m "users table"
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.autogenerate.compare] Detected added table 'user'
INFO [alembic.autogenerate.compare] Detected added index 'ix_user_email' on '['email']'
INFO [alembic.autogenerate.compare] Detected added index 'ix_user_username' on '['username']'
Generating /home/miguel/microblog/migrations/versions/e517276bb1c2_users_table.py ... done
答案 0 :(得分:0)
我只是遇到了同样的问题。如果您查看__init__.py底部的import语句,则没有添加“模型”模块,因此它不知道您创建的新数据模型。
这是本教程中__init__.py的外观:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from config import Config
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
from app import routes, models