码迷,mamicode.com
首页 > 数据库 > 详细

Flask框架之数据库迁移集成到Script中

时间:2020-03-06 11:26:05      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:_id   mysql   base   pytho   col   mysq   操作   pre   out   

1. 安装migrate模块

pip install flask_migrate

2. 创建manage对象,并接管app和db对象

manager = Manager(app, db) 

3. 将数据库迁移操作集成到script中

manager.add_command(db, MigrateCommand)

案例代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

app = Flask(__name__)
app.config[SQLALCHEMY_DATABASE_URI]=mysql://root:mysql@127.0.0.1:3306/flask_01

manager = Manager(app)

db = SQLAlchemy(app)

migrate = Migrate(app, db)

# 使用migrate集成到script
manager.add_command(db, MigrateCommand)


class Book(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=True)
    hero_set = db.relationship(Hero, backref=book, lazy=dynamic)


class Hero(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=True)
    book_id = db.Column(db.Integer, db.ForeignKey(book.id))


@app.route(/)
def index():
    return index

if __name__ == __main__:
    manager.run()

使用shell脚本执行数据库迁移

1. 创建makemigrations文件夹,及其相关文件。

python 文件名 init

2. 创建数据库迁移文件

python 文件名 migrate

3. 执行迁移文件

python 文件名 upgrade

Flask框架之数据库迁移集成到Script中

标签:_id   mysql   base   pytho   col   mysq   操作   pre   out   

原文地址:https://www.cnblogs.com/chao666/p/12424885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!