2013-10-07 126 views
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:[email protected].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時沒有創建遷移時正確返回結果?我究竟做錯了什麼 ?

回答

-2

使用Alembic爲Schema Migration,它由作者SQLAlchemy本身創建,它最適合遷移。

希望這會有所幫助。

+4

Flask-Migrate是一種Alembic包裝。 – Miguel

0

如果你想創建一個自動遷移腳本,然後蒸餾器沒有檢測到任何變化的最可能的原因是,這些變化已在數據庫中,所以你的模型和數據庫模式沒有什麼區別。嘗試使用db.drop_all()刪除數據庫中的所有表格,然後重試。

0

要允許flask-migrate識別您的模型,請確保您將模型導入到env.py文件中。我在所有進口和它工作後立即導入它。

希望有所幫助。