flask迁移

from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from info import create_app, db, models

# manage.py是程序启动的入口,只关心启动的相关参数以及内容,不关心具体该
# 如果创建app或者相关业务逻辑

# 通过指定的配置名字创建对应配置的app
# create_app 就类似于工厂方法
from info.models import User

app = create_app('development')

manager = Manager(app)
# 将 app 与 db 关联
Migrate(app, db)
# 将迁移命令添加到manager中
manager.add_command('db', MigrateCommand)


@manager.option('-n', '-name', dest="name")
@manager.option('-p', '-password', dest="password")
def createsuperuser(name, password):

if not all([name, password]):
print("参数不足")

user = User()
user.nick_name = name
user.mobile = name
user.password = password
user.is_admin = True

try:
db.session.add(user)
db.session.commit()
except Exception as e:
db.session.rollback()
print(e)

print("添加成功")

 


if __name__ == '__main__':
print(app.url_map)
manager.run()

转载于:https://www.cnblogs.com/liao-lei/p/9874576.html

Flask中进行数据库迁移可以通过使用Flask-Migrate扩展来实现。首先,你需要安装Flask-Migrate扩展,可以使用pip命令进行安装。接下来,你需要在你的代码中导入相关的模块,并创建一个Flask应用实例、一个SQLAlchemy实例和一个Migrate实例。然后,你可以使用MigrateCommand类将数据库迁移命令附加到Flask-Script的Manager对象上。最后,你可以通过执行相应的命令来进行数据库迁移操作。 下面是一个示例代码,展示了如何在Flask中使用Flask-Migrate进行数据库迁移: ```python from flask import Flask from flask_migrate import Migrate, MigrateCommand from flask_script import Manager from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) manager = Manager(app) app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) migrate = Migrate(app, db) manager.add_command('db', MigrateCommand) # 创建一个模型类 class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32), unique=True) @app.route('/') def index(): return 'Hello World!' if __name__ == '__main__': manager.run() ``` 在终端中执行以下命令来进行数据库迁移操作: - 初始化数据库迁移:`python manager.py db init` - 创建迁移脚本:`python manager.py db migrate` - 更新数据库:`python manager.py db upgrade` 这样,你就可以使用Flask-Migrate进行数据库迁移了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [flask 数据库迁移](https://blog.csdn.net/qq_38803950/article/details/86099498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值