python下的flask使用Flask-Migrate和Flask-Script对数据库迁移

在开发过程中,需要修改数据库模型。最直接的方式就是删除旧表,但这样会丢失数据。
更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。
----------------------------------------------

#  安装迁移扩展
pip install flask-migrate
pip install flask-script

flask-migrate 依赖 flask-script
----------------------------------------------
在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。
为了使用数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上。
----------------------------------------------
from flask import Flask
# 导入迁移扩展
from flask_migrate import Migrate,MigrateCommand
# 导入script扩展
from flask_script import Manager
app=Flask(__name__)
# 1. 实例化Migrate ------- 把app中的模型迁移到db数据库中
migrate = Migrate(app, db)

# 2. 创建Manager管理实例:
manager = Manager(app)

# 3. 给管理实例添加迁移命令
manager.add_command('db', MigrateCommand)

if __name__ == '__main__':
	
	# 4. 管理实例运行项目
	manager.run()  # 允许项目:代替 app.run(debug=True)


# 1.这个命令会创建migrations文件夹,所有迁移文件都放在里面。
#   只需要第一次同步时运行
    python use_db.py db init

# 2.创建自动迁移脚本
	# -----相当于django中的makemigrations-------
	# ----- -m 'initial migration' ------指定版本名称
    python use_db.py db migrate -m 'first-time'
    
# 3.更新数据库
    python use_db.py db upgrade

# 4.版本回退
    python use_db.py db history
    python use_db.py db downgrade 版本号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值