• 数据迁移 (选做)


    1. pip install flask-migrate  #Flask-Migrate 是一个数据迁移框架,需要通过Flask-script库来操作.

    2. pip install flask-script  #通过命令行来操作Flask

    3. 新建模型更改文件:manage.py

    from flask_script import Manager
    from flask_migrate import Migrate, MigrateCommand
    from myqa import app
    from exts import db

    from models import Question, Comment

    manager = Manager(app) #Manager只有一个参数:一个Flask实例
    migrate = Migrate(app, db) #使用Migrate绑定app和db
    manager.add_command('db', MigrateCommand) ##添加迁移脚本命令,命令行输入python manage.py db migrate

    if __name__ == '__main__':
    manager.run() #启动Manger实例接收命令行中的命令。

    4. 要models.py发生改变后,在cmd命令行,进到manage.py所在的路径,执行:

    (1)初始化迁移环境,只运行一次
    python manage.py db init

    (2)生成迁移文件,模型改变了就需要执行
    python manage.py db migrate

    (3)映射到数据库表中
    python manage.py db upgrade

    from flask_script import Manager
    from flask_migrate import Migrate,MigrateCommand
    from untitled6 import  app
    from  exts import  db
    
    from  models import  User,Question,Comment
    
    manager=Manager(app)#mangager只有一个参数:一个Flask实例
    
    migrate=Migrate(app,db)#使用Migrate绑定app和db
    
    #添加迁移脚本命令
    manager.add_command('db',MigrateCommand)#加入命令,命令行输入python manage.py db migrate
    
    
    if __name__ == '__main__':
        manager.run()#启动Manger实例接收命令行中的命令

    4. 要models.py发生改变后,在cmd命令行,进到manage.py所在的路径,执行:

    (1)初始化迁移环境,只运行一次
    python manage.py db init

    (2)生成迁移文件,模型改变了就需要执行
    python manage.py db migrate

    (3)映射到数据库表中
    python manage.py db upgrade

     

    class User(db.Model):
        __tablename__ = 'user'
        # 建立一个表user
        id = db.Column(db.Integer,primary_key=True,autoincrement=True)
        username = db.Column(db.String(20),nullable=False)
        _password = db.Column(db.String(200),nullable=False)
        image = db.Column(db.String(100))
        say = db.Column(db.String(50))
    #加入该字段测试,试完删除
        a=db.Column(db.String(50))

    数据库修改结果:

  • 相关阅读:
    Nginx 启动错误 Failed to read PID from /run/nginx.pid
    CentOS7 下 nginx 无法加载 Django 静态文件的问题
    SSD + 机械硬盘装 CentOS 分区的问题
    CentOS7 单机维护模式
    编译安装 redis 6.2.1
    谷歌师兄刷题笔记
    我用 DCL 写出了单例模式,结果阿里面试官不满意!
    红黑树杀人事件始末
    头条二面:详述一条 SQL 的执行流程
    jvisual远程 springBoot项目
  • 原文地址:https://www.cnblogs.com/YyYyYy11/p/8126197.html
Copyright © 2020-2023  润新知