Flask数据库迁移简单介绍
|
前言 用过Django的小伙伴都知道,Django的ORM是自带的,比较特殊,而且集成了很多功能,比如数据库迁移… flask的小工具 大家从Django转至Flask最明显的一个差异就是,flask直接运行就可以启动服务,Django是使用了runserver来进行运行。至于好坏大家自行斟酌。这里提一个插件。flask-script。pip安装即可。 from flask_script import Manager ...... manager = Manager(app) ...... #app.run() #注释这句 manager.run() 这样,启动的方式变为 python main.py runserver 这似乎有点画蛇添足,实则不然,这和我们下面要讲的数据库迁移有很大的联系。 数据库迁移 需要用的的插件 flask-migrate main.py
from flask import Flask
from flask_script import Manager
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate,MigrateCommand
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////opt/db.sqlite' #使用sqlite3数据库
db = SQLAlchemy(app) #ORM
migrate = Migrate(app,db)
manager = Manager(app)
manager.add_comman('db',MigrateCommand) #添加db 命令(runserver的用法)
#一个用户表
class User(db.Model):
...
...
省略
if __name__ == '__main__':
manager.run()
这样,准备工作已经就绪。 修改User类。 python main.py db migrate 提交修改 再看User表,已经改变。 python main.py db downgrade 回退修改 有一点注意的:SQLite3不能删除有值的列…所以,大家就不要删除列了… 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
