Flask database migration framework integrated into the Script

1. Installation migrate module

pip install flask_migrate

2. Create manage objects, and take over the app and db object

manager = Manager(app, db) 

3. The database migration operations into a script

manager.add_command('db', MigrateCommand)

Case Code:

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:[email protected]: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()

Use shell scripts to perform database migration

1. Create makemigrations folders, and documents.

init python file name

2. Create a database migration file

python filename migrate

3. To perform the migration file

python filename upgrade

Guess you like

Origin www.cnblogs.com/chao666/p/12424885.html