我正在开发一个已在Flask中开发的新项目,我不了解Flask。我的公司给了我项目,因为我有Django的经验。


这是项目的结构:
&#xA;&#xA;<代码>模型&#XA; -db.py&#XA; -model1.py&#XA; -model2.py&#XA; - ..&#xA; static&#xA; - ..&#xA; templates&#xA; - ..&#xA; myapp.py&#xA;&#xA;&#xA;
myapp.py
包含所有配置文件和服务器初始化代码具有所有其他功能,例如主页和注册页面的功能。
当我运行 myapp.py
时,它运行正常,但是表格不是自动创建的(我发现必须首先进行迁移)。我不知道该怎么做。
该项目使用postgresql和SQLAlchemy形式flask_sqlalchemy Modules。
&#xA;&#xA; db.py
文件:
来自flask_sqlalchemy import SQLAlchemy&#xA;&#xA; db = SQLAlchemy()&#xA ;
&#xA;&#xA; 所有模型都有来自db import db的
< code> myapp file:
&#xA;&#xA; #====================== =============================================&#XA;# SQL ALCHEMY&#xA;#============================================ =======================&#xA;&#xA; if(SERVER_MODE == RUN_MODE.PRODUCTION):&#xA; app.config ['SQLALCHEMY_DATABASE_URI'] =(&#xA; os.environ [“DATABASE_URL”]&#xA;)&#xA; app.config ['SQLALCHEMY_TRACK_MODIFICATIONS'] = False&#xA;否则:&#xA; app.config ['SQLALCHEMY_DATABASE_URI'] =(&#xA;'postgresql://'+&#xA;'creathiveswebapp:creathives'+&#xA;'@'+&#xA;'localhost / cl_creathives_pgdb'&# xA;)&#xA; app.config ['SQLALCHEMY_ECHO'] = False&#xA; app.config ['SQLALCHEMY_TRACK_MODIFICATIONS'] = True&#xA;&#xA; db.init_app(app)&#xA;
&#xA;&#xA; 和
&#xA;&#xA; ...&#xA;#=========================== ========================================&#xA; #START SERVER&#xA; #================================================= ==================&#xA;&#xA; if __name__ ==“__ main __”:&#xA; port = int(os.environ.get('PORT',5000))&#xA; if(SERVER_MODE == RUN_MODE.PRODUCTION):&#xA; #TODO:关闭debug&#xA; app.run(host ='0.0.0.0',port = port,debug = True)&#xA;其他:&#XA; app.run(host ='0.0.0.0')&#xA;
&#xA;&#xA; 如何进行首次迁移以创建表格。
&#XA;答案 0 :(得分:2)
使用此命令:
python manage.py db migrate
对于数据库迁移设置,请尝试以下操作:
import os
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand
from app import app, db
app.config.from_object(os.environ['APP_SETTINGS'])
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
如需进一步了解,请Read from here.
答案 1 :(得分:0)
import os
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand
from app import app, db
app.config.from_object(os.environ['APP_SETTINGS'])
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
app.run()
使用命令: flask db migration -m'注释' 烧瓶数据库升级