Flask-Migrate的使用

15【初学必看】Flask轻量级Web开发完全指南:从零开始构建高效应用 Flask作为Python的轻量级Web框架,以其灵活性和简洁性受到开发者青睐。它基于Werkzeug和Jinja2,提供核心功能的同时允许按需扩展,适合API服务、微服务和快速原型开发。Flask的安装简单,项目结构清晰,路由系统强大,支持静态和动态路由。Jinja2模板引擎和WTForms集成使得前端开发更加便捷。数据库方面,Flask支持SQLAlchemy和MongoDB等多种选择,并提供了迁移工具。请求处理直观,支持查询参数、表单数据和文件上传。Flask的轻量级设计使其成为快速构建高效Web应用 阅读详情

因为采用db.create_all在后期修改字段的时候,不会自动更改到数据库中,必须删除表,然后重新运行db.create_all才会重新映射,这样是不符合实际情况的。因此flask-migrate就解决了这个问题,可以直接将修改的东西映射到数据库中。

1.使用flask-migrate必须借助flask-scripts,这个包MigrateCommand中包含了所有和数据库相关的命令。
2.flask-migrate`相关命令:

  • python manage.py db init:初始化一个迁移脚本的环境,只需要执行一次。
  • python manage.py db migrate:将模型生成迁移文件,只要模型更改了,就需要执行一次这个命令。
  • python manage.py db upgrade`:将迁移文件真正的映射到数据库中。每次也需要执行一次这个命令。

3.注意点:
需要将你想要映射到数据库中的模型,都要导入到manage.py文件中,如果没有导入进去,就不会映射到数据库中。

代码:
db_demo3:

from flask import Flask
from exts import db
import config
import pymysql
pymysql.install_as_MySQLdb()

app = Flask(__name__)
app.config.from_object(config)
db.init_app(app)


@app.route('/')
def hello_world():
    return 'hello world!'

if __name__ == '__main__':
    app.run(debug=True)

manage.py:

from flask_script import Manager
from db_demo3 import app
from flask_migrate import Migrate,MigrateCommand
from exts import db
from models import Article

manager = Manager(app)

migrate = Migrate(app,db)

manager.add_command('db',MigrateCommand)


if __name__ == '__main__':
    manager.run()

exts.py:

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

models.py

from exts import db

class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer,primary_key= True,autoincrement=True)
    title = db.Column(db.String(100),nullable=False)
    content = db.Column(db.Text,nullable=False)

config.py


DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = '123456'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo3'

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD
                                            ,HOST,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
【flask扩展】Flask-Migrate的使用 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。我们在django中可以通过指令迁移数据库,将模型类映射到数据库中,在flask中我们用的扩展Flask-SQLAlchemy来生成模型类,还需要数据库迁移扩展来通过指令迁移数据库! 在 Flask 中可以使用 Flask-Migrate 扩展,来实现数据迁移。并且集成到 Flask-Script 中,所有操作 阅读详情

相关推荐

Flask博客实战 - 安装使用Flask-Migrate

Flask-Migrate 是一个扩展,他是Alembic的进一步封装,以更好的适配Flask和Flask-SQLAlchemy 应用程序。 就实际的数据库迁移而言,所有内容都由Alembic处理,因此您可以获得完全相同的功能。Alembic 是一款轻量型的数据库迁移工具,它与 SQLAlchemy 一起共同为 Python 提供数据库管理与迁移支持。 配置Flask-Migrate 1、首先在工厂函数所在文件中引入 2、在工厂函数中注册, 最终 最后,完整的工厂函数如下 使用Flask-

轻编程的博客 570

Linux生产环境运行flask

在生产环境运行Flask程序,也就是常用的linux服务器上跑Flask程序。

qwe1314225的博客 2643

Python实战:5分钟搞定滑动平均窗口计算(附完整代码+逐行注释)

本文深入解析Python中滑动平均窗口计算的实现与优化,提供Numpy、Pandas等多种高效方案,并附完整代码和逐行注释。涵盖边界处理、性能优化及异常检测等实战技巧,帮助开发者快速掌握时间序列数据处理的核心技术。

weixin_30872157的博客 124

Flask-Migrate模块使用

flask-migrate可以十分方便的进行数据库的迁移与映射,将我们修改过的ORM模型映射到数据库中。另外flask-migrate是对Alembic的一个封装,其实它的底层是交由Alembic来处理的。使用起来十分方便。 在flask项目中使用flask-migrate,我采用下面的结构。   目录结构 . |-- app.py     入口程序 |-- config.py  全局...

本末实验室 6618

【嵌入式】树莓派部署NCNN的YOLOv5模型

树莓派部署NCNN框架的YOLOv5模型

Ace_Spade的博客 3782

springboot + netty 实现多客户端登录 超出设备 并下线

本文档旨在详细描述多平台登录控制的需求和实现方案。当前系统仅支持单设备登录,需扩展为支持多设备同时在线,并提供多种登录策略。文档详细列出四种策略:单平台登录、双平台登录、三平台登录和多平台同时在线,每种策略的具体限制和支持平台。技术实现方案包括数据结构设计、NettyUtils 工具类方法、WebSocketHandler 修改,以及相应的测试方案

Likefr 1877

Python Flask框架 -- flask-migrate迁移ORM模型

Python Flask框架 -- flask-migrate迁移ORM模型 代码示例

@Peixian Liang 3003

【论文+CAD图纸】光储充一体化微电网设计

近些年来,我国的经济发展迅速,对能源的需求不断增长,也加重了对环境的破坏,违背了我国的可持续发展战略。所以迫切需要寻找新型能源。由于太阳能在使用时不会产生污染,所以太阳能逐渐受到人们的重视。我国的太阳能资源丰富,具有的开发利用潜力。特别是近些年“光储充”一体化充电站为高科技绿色充电模式,“以光养桩”使光伏、储能、智能充电协同,智能微电网与公共电网互动,本设计对探索清洁可再生能源在民用场合的应用,有着重大的理论和工程价值。本文综述国内外相关光伏发电的成果和发展现状;

weixin_761237174的博客 925

flask-migrate的使用

精选30+云产品,助力企业轻松上云!>>> mana...

weixin_36646275的博客 346

树莓派4B没有serial0或ttyS0,serial0没有映射到ttyS0,serial0和serial1调换映射

环境: 树莓派4B,ubuntu mate20 现象 终端输入ls -l /dev,发现只有serial1->ttyAMA0,没有serial0页没有ttyS0,更没有二者的映射。网上很多方法都是树莓派3B和3B+的,我自己试过,不太适用于4B,下面的方法是4B的,我自己用是成功的。 解决方法 cd /boot/firmware sudo gedit config.txt 注意不是/boot下的config,而是/boot/firmware下的config 打开文件后,找到enable_uart=0

qq_41208487的博客 7891

华为私有云HCS 8.1.1实战:从镜像制作到云主机发放全流程指南

本文详细解析了华为私有云HCS 8.1.1从镜像制作到云主机发放的全流程实战指南。内容涵盖制作标准化QCOW2镜像、配置云主机规格与主机组、规划外部网络,以及在运营面为租户初始化资源、配置审批流与产品目录。最后,通过用户视角演示了从创建VPC网络到申请、审批并最终绑定EIP访问云主机的完整操作步骤,为运维人员和架构师提供了一套清晰、可落地的HCS部署与管理实践方案。

weixin_29305313的博客 1125

Flask_migrate最新攻略,教你怎么优雅的使用Flask_migrate

Flask_migrate最新攻略

weixin_37871966的博客 1366

在 CentOS Stream 10 上搭建 Kubernetes 集群并支持开发调试与日志查看

搭建 Kubernetes 集群的每个步骤详细的文档。

灵犀物润 1640

在flask中使用flask-migrate管理数据库

Flask-Migrate是一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作。 安装 pip3 install Flask-Migrate 例子:test.py from flask import Flask from flask_sqlalchemy import SQLAlch...

酱油拌面 2万+

电磁场仿真软件:Sonnet_(3).Sonnet用户界面与操作

Sonnet支持用户通过二次开发自定义工具,例如:编写Python脚本,实现自定义功能。将脚本保存为工具插件。在Sonnet中加载并使用自定义工具。# 示例:自定义工具 import sonnet def custom_tool(design , object , parameter , value) : """自定义工具示例,设置对象的指定参数。

kkchenjj的博客 1523

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Flask-Migrate使用

一、pycharm添加数据库 Views->tool windows->database 二、pycharm终端(Terminal)中输入: 1、生成文件夹Migrate python manage.py db init 2、 把models模型迁移到执行文件 python manage.py db migrate 3、从Migrate文件夹迁移到数据库(记得刷新pyc...

milk_and_bread的博客 522

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

flask-migrate简单使用

1、安装 pip install Flask-Migrate 2、创建对象 1、创建一个sql_.py文件 from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_script import Manager from flask_migrate import Migrate,MigrateCommand...

python学习之路 3533

Flask-migrate基本使用方法

数据库迁移操作顺序: 1.python 文件 db init 2.根据需求修改模型 3.python flaskapp文件 db migrate -m"新版本名(注释)" 4.python flaskapp文件 db upgrade 然后观察表结构 5.若返回版本,则利用 python 文件 db history查看版本号 6.python 文件 db downgrade(upgrad...

417

小白笔记Flask:Flask-Migrate的使用

Flask-Migrate的介绍与使用 1.介绍: 因为采用’db.create_all()'在后期修改字段的时候,不会自动映射到数据库中,必须删除表,然后重新运行’db.create_all()'才会重新映射, 这样不符合需求,因此flask-migrate就是为了解决这个问题,他可以在每次修改模型后,将修改的东西映射到数据库中。 2.安装: 首先进入到虚拟环境中,然后使用’pip instal...

baibai_bjt的博客 673

Python-Flask-migrate安装和使用

在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。 环境:window11+pycharm2020.1+Anaconda4.11.0 +python3.7 Flask-sqlalchemy2.5.1 Flask-Migrate:3.1.0......

weixin_40239288的博客 5057

Flask框之flask_migrate使用介绍

在实际的开发环境中,经常会发生数据库修改的行为。一般我们修改数据库不会直接手动的去修改,而是去修改ORM对应的模型,然后再把模型映射到数据库中。这时候如果有一个工具能专门做这种事情,就显得非常有用了,而flask-migrate就是做这个事情的。flask-migrate是基于Alembic进行的一个封装,并集成到Flask中,而所有的迁移操作其实都是Alembic做的,他能跟踪模型的变化,并将变化映射到数据库中。 1.先安装flask-migrate pip install flask-migrate

qq_26008885的博客 438

python flask使用flask_migrate管理数据库迁移

使用 flask_migrate 在Flask应用中轻松管理数据库迁移,进行数据表定义、创建、修改、删除操作。

Zwq的博客 1625

flask-migrate使用

表,字段发生变化,都会有记录,自动同步到数据库中--》django支持这种操作# 原生的sqlalchemy,不支持修改表的# flask-migrate可以实现类似于django的python manage.py makemigrations #记录python manage.py migrate #真正的同步到数据库。

淘淘桃的博客 1312

使用flask_migrate迁移模型

看治疗课堂的flask教程,使用flask_script模块创建数据库表,不调用flask_migrate模块时,可正常执行,导入flask_migrate再执行命令时,三番五次报错 from flask_script import Manager from flask_migrate import Migrate, command from app import app from exts import db from models import User manager = Manager(app)

nongcunqq的博客 231
上一篇: 如何解决循环引用
下一篇: 制作一个简易名片
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值