0

我的应用程序中有一个 app_db 模块

import os 
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand
from app.models.models import *

    if os.environ.get('DATABASE_URL') is None:
        SQLALCHEMY_DATABASE_URI = 'postgresql://ewojitxcrklhxpq:wkAO8d-hdr2hGoQXYadbjMKhGR@ec2-23-23-214-211.compute-1.amazonaws.com:5432/d7i8ucmlletq2mmv'
    else:
        SQLALCHEMY_DATABASE_URI = os.environ['DATABASE_URL']


    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = SQLALCHEMY_DATABASE_URI
    db = SQLAlchemy(app)

    migrate = Migrate(app, db)
    manager = Manager(app)
    manager.add_command('db', MigrateCommand)


    if(__name__=='main'):
       manager.run()

我所有的模型类都在app.models.models. 我的应用程序连接到数据库并在我运行时正确返回结果python app_db.py db init没有创建迁移?我究竟做错了什么 ?

4

3 回答 3

0

要让 flask-migrate 识别您的模型,请确保将模型导入 env.py 文件中。我在所有导入后立即导入它并且它有效。

希望有帮助。

于 2014-11-24T08:02:29.967 回答
0

如果您尝试创建自动迁移脚本,那么 Alembic 未检测到任何更改的最可能原因是更改已经在数据库中,因此您的模型和数据库模式之间没有区别。尝试使用 删除数据库中的所有表db.drop_all(),然后重试。

于 2013-10-07T16:27:24.483 回答
-2

用于Alembic架构迁移,由作者SQLAlchemy自己创建,最适合迁移。

希望这可以帮助。

于 2013-10-07T14:56:10.120 回答