当前位置: 首页 > news >正文

高端网站建设必须要满足哪些要求三维家在线设计官网

高端网站建设必须要满足哪些要求,三维家在线设计官网,在阿里巴巴上做网站要多少钱,小程序代理免费加盟python使用alembic实现数据库管理 环境准备 安装依赖: pip install sqlalchemy alembic项目结构 my_project/ ├── models.py # 定义数据模型 └── alembic/ # 迁移脚本目录(自动生成) 使用步骤: 1. 初始化Alembic环境 …

python使用alembic实现数据库管理

环境准备

  1. 安装依赖:
pip install sqlalchemy alembic
  1. 项目结构
    my_project/
    ├── models.py # 定义数据模型
    └── alembic/ # 迁移脚本目录(自动生成)

使用步骤:

1. 初始化Alembic环境

在终端切换到项目目录下,运行以下命令初始化

alembic init alembic

运行后的文件结构:
alembic/
├── versions/ # 存放迁移脚本
├── env.py # 迁移环境配置
└── script.py.mako # 迁移脚本模板
alembic.ini # 主配置文件
models.py

2. 配置数据库连接

修改alembic.ini文件,设置数据库连接,找到sqlalchemy.url进行配置:

# 模板:
sqlalchemy.url = mysql+驱动名称://用户名:密码@主机地址:端口/数据库名?charset=utf8mb4  # 使用mysql示例

3. 定义数据模型

在models.py中编写sqlalchemy模型:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()class User(Base):__tablename__ = "users"id = Column(Integer, primary_key=True)name = Column(String(50))email = Column(String(100))

4.修改alembic/env.py 引入模型

找到alembic/env.py文件,引入models.py文件,具体修改如下:
修改前:

target_metadata = None

修改后:

from models import Base  # 从你的模型文件导入 Base
target_metadata = Base.metadata

5. 生成迁移脚本

  1. 生成迁移脚本
# 首次使用
alembic revision -m "create users table"
# 非首次使用
alembic revision --autogenerate -m "create users table"

6. 数据库迁移

运行迁移更新数据库:

alembic upgrade head

7. 回滚迁移

回滚到上一个版本:

alembic downgrade -1

指定版本号回滚:

alembic downgrade <version_id>

8.常见命令汇总:

命令作用
alembic init alembic初始化迁移环境
alembic revision --autogenerate -m "msg"生成自动迁移脚本
alembic downgrade -1回滚到上一个版本
alembic upgrade head应用最新迁移
alembic history查看迁移历史
http://www.dtcms.com/a/474364.html

相关文章:

  • 01_kubeadm安装k8s集群
  • C++Lambda 表达式与函数对象
  • 个人网站主页怎么做阿里云 域名 做网站
  • 数据结构:初识数据结构
  • 【Redis】用Redis实现分布式锁、乐观锁
  • 做好评做销量的网站桂林尚品网络科技有限公司
  • 网上接单做衣服哪个网站设计感十足的网站
  • Nginx黑白名单基于 IP 的黑白名单配置指南
  • 英文网站群建设如何做英文网站外链
  • 【金仓数据库产品体验官】Mycat适配KES分库分表体验
  • Unified AI Container
  • 接口测试(一)
  • 建设企业网站企业网上银行打死都不想干电商运营了
  • 汇编语言程序设计
  • python中进程和线程
  • 非对称加密使用举例
  • 多视图几何--密集匹配--patchmatchstereo翻译
  • Visual Basic 概述
  • redis项目知识体系
  • C++11(列表初始化、右值引用和移动语义)
  • 北京规划建设 杂志 官方网站多说与网站账号绑定
  • 网站建站外包公司产品做网站如何谁来维护价格
  • 电子商务网站开发文档济宁seo优化公司
  • 提效工具推荐-任务关系和状态自动转为 UML图
  • 集合(Set)的使用场景与习惯养成指南
  • 【每日一题】3186. 施咒的最大总伤害
  • 如何做新网站php 资讯网站
  • 专门做推广的网站吗哪个网站可以改字体
  • 小迪安全v2023学习笔记(一百零三讲)—— 漏扫项目篇PoC开发Rule语法反链判断不回显检测Yaml生成
  • MySQL的练习题二----创建表的练习题