Skip to main content

Flask之更新表结构

Flask之更新表结构

使用Flask的过程中,对于操作数据库这一块会用到Flask-SqlAlchemy,项目开始的时候是没有什么问题的,但是在后面由于业务需求会涉及到修改表的操作,那么问题来了,表的结构被修改之后,又如何才能同步到生产环境的数据库呢。

这里推荐使用一个Flask的插件-Flask-Migrage.下面掩饰一下如何去操作。

Flask-Migrate的安装:

pip install flask-migrate

创建app.py,代码如下:

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'

db = SQLAlchemy(app)
migrate = Migrate(app, db)

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

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128))

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

保存如何代码后,实行如下代码:

python app.py db init

这个动作是说,初始化migrate需要的环境,接下来生成一个数据表操作的代码文件:

python app.py db migrate

如果没有报错的话,会出现一系列的提示信息,这里具体情况不一样,我就不一列出来了。

如果上面执行后没有问题的话,就可以进行数据库表的更新了。

python app.py db upgrade

执行上面的代码,就可以更新数据库表的结构了。

版权声明

版权声明

durban.zhang 创作并维护的 Walkerfree 博客采用 创作共用保留署名-非商业-禁止演绎4.0国际许可证。本文首发于 Walkerfree 博客(http://walkerfree.com/),版权所有,侵权必究。本文永久链接:http://walkerfree.com/article/22