5.Flask-Migrate
1.1.项目结构重构
(1)config.py
DB_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/flask_migrate?charset=utf8" SQLALCHEMY_DATABASE_URI = DB_URI
(2)创建exts.py(防止循环引用报错)
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
(3)创建models.py
from exts import db class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer,primary_key=True,autoincrement=True) username = db.Column(db.String(50),nullable=False)
(4)flask_migrate_demo.py
from flask import Flask from exts import db import config app = Flask(__name__) app.config.from_object(config) db.init_app(db) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
1.2.flask-migrate的使用
flask-migrate是基于alembic进行的一个封装,并集成到flask中,而所有的迁移操作其实都是alembic做的,它能跟踪模块的变化,并将变化映射到数据库中。
(1)安装
pip install flask-migrate
(2)manage.py
from flask_script import Manager from flask_migrate_demo import app from exts import db import models #这个一定要导入 from flask_migrate import Migrate,MigrateCommand manager = Manager(app) Migrate(app,db) manager.add_command("db",MigrateCommand) #把所有命令放到db里面 if __name__ == '__main__': manager.run()
(3)初始化
python manage.py db init
(4)创建迁移脚本
python manage.py db migrate -m '第一次提交'
(5)生成到数据库
python manage.py db upgrade
目录结构
posted on 2018-05-28 16:01 zhang_derek 阅读(951) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?