1.创建存放数据表的包modles>user.py的样本,代码如下:

user.py

from sqlalchemy import Column, Integer, Stringfrom app.db.base_class import Baseclass User(Base):__tablename__ = 'users'id = Column(Integer, primary_key=True, index=True, autoincrement=True)work_number = Column(Integer, index=True, nullable=False)  # 工号hash_password = Column(String(60), nullable=False)  # 密码teacher_name = Column(String(20), index=True, nullable=False)  # 姓名

2.然后将user.py文件导入models>__init__.py文件中,代码如下:

__init__.py

from .user import User

3.在自己的python项目环境中安装alembic。

pip install alembic

4.对alembic进行初始化。

alembic init alembic  

特别注意:最后一个alembic为生成文件的名字,进行初始化的时候与项目的app文件是同级。

初始化后会生成一个alembic的文件夹和一个alembic.ini的文件(如上图)。

5.修改alembic.ini文件

在文件中添加一行version_path_separator = os 和sqlalchemy.url 地址(如下图),其他地方不需要进行更改。

6.修改alembic>env.py文件。

修改target_metadata=None,先导入自己的model文件将target_metadata修改为自己的models里的文件(看图)

model文件全部放到models包里面,这个架构我是按照fastapi作者写的那个项目写的。

4.使用命令alembic revision --autogenerate -m "备注",生成当前的版本

alembic revision --autogenerate -m "init"

5.使用命令alembic upgrade head将alembic的版本更新到最新版,然后数据库中就有user表了

alembic upgrade head

6.中models>user.py文件增加一个test字段。

from sqlalchemy import Column, Integer, String
from app.db.base_class import Baseclass User(Base):__tablename__ = 'users'id = Column(Integer, primary_key=True, index=True, autoincrement=True)work_number = Column(Integer, index=True, nullable=False)  # 工号hash_password = Column(String(60), nullable=False)  # 密码teacher_name = Column(String(20), index=True, nullable=False)  # 姓名test = Column(String, nullable=False)  # 测试

在进行上面的第4步,然后在进行第5步。这样就能更新自己新增加的字段了。

常见的错误:

详细请看:Fastpi中使用Alembic实现对数据库热更新

Alembic使用教程相关推荐

  1. SqlAlchemy Alembic数据库升级与降级简易教程

    前言 通常我们会将我们的代码放入到某个VCS(版本控制系统)中,进行可追溯的版本管理.一个项目除了代码,通常还会有一个数据库,这个数据库可能会随着项目的演进发生变化,甚至需要可以回滚到过去的某个状态, ...

  2. 从头开始学python教程_怎样开始自学Python?

    Python是一个通用编程语言,并很快成为每个自重程序员宝库中的一个必需品. Python中有数不清的Web框架,从基本bai的微小架构到完整的架构,它们自有各自的优点.那么你准备使用它来做一些web ...

  3. sqlalchemy mysql_SQLAlchemy简明教程

    原文可见:SQLAlchemy简明教程 - Jiajun的编程随想 SQLAlchemy是Python中常用的一个ORM,SQLAlchemy分成三部分: ORM,就是我们用类来表示数据库schema ...

  4. OverIQ 中文系列教程【翻译完成】

    原文:OverIQ Tutorials 协议:CC BY-NC-SA 4.0 阶段:机翻(1) 人最大的痛苦就是说一些自己都不相信的话.--燕京学堂鹿会 在线阅读 在线阅读(Gitee) Apache ...

  5. flask mysql环境配置_Flask教程4:数据库

    Flask中的数据库 Flask并不原生支持数据库,而是通过Python包以及Flask数据库插件. 数据库分为关系型数据库和非关系型数据库,这里我们使用关系型数据库.我们使用Flask-SQLAlc ...

  6. maya python插件_Maya Python - ALembic导入导出助手

    前言Abc助手其实最开始是师兄跟我提的. 我记得刚到公司的第一天,师兄就让我去研究如何实现批量将材质信息上到每个面上. 这就为这个插件的诞生慢下了伏笔. 其实就我自己而言,我当时并不太理解师兄想要实现 ...

  7. 平民级数字人up主制作技术教程

    尊重版权,谢绝转载 一.软件安装 UE4iclone版本:UE4.26.2iClone_7.92 注意:初学者一定要下载iClone_MetaHuman_Live_Link_Kit_UE4.26资源包 ...

  8. the foundry modo 15 安装教程

    modo 15是由the foundry公司推出的一款功能强大的3D建模软件,全称叫做the foundry modo 15,该软件集高级多边形细分曲面.建模.雕刻.3D绘画.动画与渲染于一体,其灵活 ...

  9. Flask从入门到做出一个博客的大型教程(五)

    Flask从入门到做出一个博客的大型教程(五) 在开始之前,先来看下项目的整体结构. flask/ ├── app │ ├── forms.py │ ├── __init__.py │ ├── mod ...

最新文章

  1. 我建议你了解一点儿Serverless
  2. idea整合mybatis错误
  3. Android Listview中Button按钮点击事件冲突解决办法
  4. 遇到Visual Studio 当前不会命中断点.还没有为该文档加载任何符号的情况
  5. Hibernate or 的用法
  6. python3单例-python3如何运行文件夹python单例模式
  7. DCGAN:生成动漫头像
  8. 企业实战|基于Cobbler实现多版本系统批量部署
  9. Leetcode Contains Duplicate II
  10. python卷积函数_Convolution卷积算法python以numpy,Matplotlib实现
  11. 医药电商平台解决方案
  12. 4.如何靠IT逆袭大学?
  13. char数组存储中英文字符
  14. Modbus RS485 设备的串口调试
  15. plt.plot()函数解析(最清晰的解释)
  16. 专访强生医疗裴兴:后流量思维时代,医美行业迎来数字化大变局
  17. xcopy、rd、COPY、MD、DEL、REN 命令祥解
  18. win2012 文件服务器 双机热备,Windows Server 2012 R2 DHCP服务器双机热备、负载均衡
  19. 公安计算机保密整改落实情况报告,2017年保密工作整改情况报告
  20. 利用python爬取京东商品的详情信息

热门文章

  1. 启动Charls报错“The bundled Java installation is broken. Please uninstall and reinstall Charles.”
  2. Linux车载导航程序,嵌入式Linux在车载导航系统中的应用.pdf
  3. 怎样找回全国计算机考试的准考证号
  4. python爬虫(八、爬取图片社的小姐姐图片并下载)
  5. 【NLP】用python实现文本转语音处理
  6. GTC-700梯温析晶测定仪,梯度炉
  7. 当你发现你的windows系统重装无法进入黑苹果,看这个!
  8. 现货属性对抗金融属性下的白糖战争
  9. 网易新闻客户端(高仿)
  10. A Convolutional Neural Network Approach for Half-Pel Interpolation in Video Coding一视频编码中半像素插值的卷积神经网络