alembic 常用命令有哪些?

2023-05-16

上节为大家讲解了alembic如何使用?本节就为大家介绍一下alembic常用命令有哪些?

alembic常用命令如下:

在讲这些命令用法之前,我们先建立一个alembic_demo数据库

然后再建立一个alembic_demo项目

alembic_demo.py 文件代码如下:

from sqlalchemy import create_engine,Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base

DIALCT = "mysql"
DRIVER = "pymysql"
USERNAME = "root"
PASSWORD = "admin"
HOST = "127.0.0.1"
PORT = "3306"
DATABASE = "alembic_demo"
DB_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALCT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
engine = create_engine(DB_URI)

Base = declarative_base(engine)

class User(Base):
    __tablename__ = "user"
    id = Column(Integer , primary_key=True , autoincrement=True)
    name = Column(String(50) , nullable=False)

打开cmd窗口,进入到当前项目虚拟环境中

OK,准备就绪!下面我就分别为大家讲讲这些命令的用法。

第一个:init

语法:alembic init alembic

作用:创建一个alembic 文件/仓库

运行上述代码,会在当前项目创建一个alembic及alembic.ini文件

第二个:revision/--autogenerate/-m

语法:alembic revision --autogenerate -m "first add commit"

作用:生成数据库迁移文件

在创建迁移版本文件的时候,记得先配置好alembic.ini以及env.py文件,由于上节我们已经告诉大家如何配置,在这里我就不再讲解。不知道如何配置的大胸弟可访问此链接(第4步和第5步):https://blog.csdn.net/aimill/article/details/82152173

配置好alembic.ini,env.py文件后,在输入 alembic revision --autogenerate -m "first commit" 命令

运行上诉命令后,打开alembic_demo项目,你会发现在versions文件下多了一个版本文件

注:

1、revision 表示生成一个新的版本文件

2、--autogenerate 表示自动生成迁移文件

3、-m 后面跟修改信息,如果迁移文件很多,可以方便用户理解每个迁移文件的作用及用户回顾

first add commit 可以改成其它名字,我这里为了方便理解,故命名 first add commit

第三个:upgrade

语法:alembic upgrade head

作用:将迁移文件映射到数据库中

我们创建迁移文件后,并没有映射到数据库中,还需输入alembic upgrade head命令将迁移文件映射到数据库中。

在运行之前,我们先确认下alembic_demo数据库没有user表

然后我们在将迁移文件映射到数据库中。

我们再查询下alembic_demo数据库,你会发现alembic_demo数据库下有一张user表

第四个:head

作用:代表迁移文件最新版本号

上面我们做迁移文件映射时,就是用alembic upgrade head来将迁移文件最新版本号映射到数据库,如果有多个迁移脚本版本号时,可以手动输入迁移版本号,例如: alembic upgrade 其它版本号

第五个:heads

语法:alembic heads

作用:可以查看head指向的迁移文件版本号

第六个:current

语法:alembic current

作用:查看当前数据库版本号

第七个:history

语法:alembic history

作用:查看当前数据迁移版本及其信息

以上就是alembic常用命令,文章若有不当之处,欢迎指出!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

alembic 常用命令有哪些? 的相关文章

  • 在mac m1上安装docker并在浏览器启动Ubuntu环境

    目录 一些前言 xff08 说明我要这样做的原因 xff0c 很啰嗦 xff0c 建议直接跳过 xff09 安装docker用docker启动ubuntu的环境在ubuntu中安装qt5qt5bug解决qt5卸载 一些前言 xff08 说明
  • 【3D打印机】原来配置Marlin2.0这么简单,别说我没告诉你。

    96 96 可能由于各人的打印机款式不同 xff0c 某些参数没有出现在文中 xff0c 但是只要你完全看完本指南 xff0c 就可以理解Marlin是如何工作的 xff0c 我相信在此基础上 xff0c 你在固件中找到哪些不同配置并不困难
  • Ubuntu18.0 PX4+ROS+MAVROS+Gazebo仿真环境搭建

    Ubuntu18 0 PX4 43 ROS 43 MAVROS 43 Gazebo仿真环境搭建 PX4 xff1a 更新git 连接VPN下载安装 xff0c https docs px4 io master en dev setup bu
  • PX4 APM ROS MAVROS Gazebo之间关系

    https www cnblogs com yilangUAV p 14476923 html 1 PX4与APM 参考 https bbs amovlab com forum php mod 61 viewthread amp tid 6
  • MAVROS机外(offboard)控制例程

    PX4与ROS各部分的关系 Simulator仿真器 xff08 Gazebo xff09 xff1a 模拟真实飞行 xff0c 即模拟计算出真实飞行时的传感器状态 xff0c 包括GPS xff0c IMU xff08 惯性测量单元 xf
  • 罗素“杀死了”康托尔

    英国数学家罗素提出的著名的 罗素悖论 xff0c 直接证明了作为数学大厦基础的 集合论 是有问题的 xff0c 这也导致了 集合论 的发现者康托尔一次又一次的经历着罗素的劫难却也解决不了这个问题 xff0c 最终死在了自己工作的哈佛大学精神
  • px4与gazebo的多无人机编队仿真 offboard模式

    转载 原文链接 xff1a https blog csdn net weixin 43409270 article details 114703341 多机仿真 1 修改launch文件 在 PX4 Autopilot launch目录下
  • ubuntu18.04的APM环境搭建过程

    ubuntu18 04的APM环境搭建过程 配置APM环境结合gazebo软件进行仿真Ardupilot之Mavros实现Ros节点控制 配置APM环境 官方文档 https ardupilot org dev docs building
  • 使用Dronekit控制无人机,DroneKit配置

    DroneKit Python是一个用于控制无人机的Python库 DroneKit提供了用于控制无人机的API xff0c 其代码独立于飞控 xff0c 单独运行在机载电脑 xff08 Companion Computer xff09 或
  • [pixhawk笔记]-飞行模式

    pixhawk笔记 飞行模式 参考 xff1a https www cnblogs com spyplus p 7351690 html 本文翻译自px4官方开发文档 xff1a https dev px4 io en concept fl
  • 常见网络摄像机的端口及RTSP地址

    之前用opencv抓视频流搞了很久 xff0c 终于找到一篇比较靠谱的文章 亲测雄迈ip摄像头有效 海康威视 默认IP地址 xff1a 192 168 1 64 DHCP 用户名admin 密码自己设 端口 xff1a HTTP 端口 xf
  • Vue i18n学习记录

    昨天接触到了Vue i18n国际化 先去搜索了官网 都看了一遍有个大致印象以后发现 不知道把他的列子写在哪里 xff08 我想找个视频教程都没得 xff09 就是像下面这个图一样 你到底是放在哪里的 xff1f xff1f xff1f xf
  • Vue项目i18n国际化语言切换

    1 安装依赖 npm install vue i18n 2 在目录下创建所需文件 目录结构 在main js中引入 import Vue from 39 vue 39 import App from 39 App vue 39 import
  • 噔噔噔噔~冒泡排序算法

    冒泡排序算法 冒泡排序算法原理 xff1a 1 比较相邻的元素 如果第一个比第二个大 xff0c 就交换他们两个 2 对每一对相邻元素作同样的工作 xff0c 从开始第一对到结尾的最后一对 最后的元素会是最大的数 3 针对所有的元素重复以上
  • 微信小程序Map组件全屏显示

    微信小程序Map组件全屏显示 本人今天遇到了这个问题 想要小程序Map组件全屏显示设置css样式height 100 xff1b 是不生效得 需要用单位vh 设置css样式为height 100vh xff1b 就可以了 仅供参考哦
  • vue+vant 实现列表上下排序

    vue 43 vant 实现列表上下排序 span class token operator lt span template span class token operator gt span span class token opera
  • 用VNC实现远程桌面共享(支持Windows, Linux, ...)

    博客已迁到新址 xff0c 请访问Easwy的博客 http easwy com blog 本文链接地址 xff1a http easwy com blog archives linux remote desktop by vnc
  • [Vue warn]: <transition-group> children must be keyed: <div>报错解决

    标题 Vue warn children must be keyed 今天学习了VUE的列表排序过渡 碰见报错 报错之前代码为 xff1a span class token operator lt span transition span
  • 小程序 用vant-weapp van-field输入框获取不到输入值问题(已解决)

    废话不多说直接上代码 主要的解决问题的是 bind blur 61 xxx span class token operator lt span van span class token operator span field value s
  • webstorm手动更新软件

    webstorm手动更新软件 打开软件 xff0c 进入设置settings搜索Updates点击check now按弹出框内容点击 下载更新

随机推荐

  • vue elementUI点击按钮复制表格某列的链接

    vue elementUI点击按钮复制表格某列链接 lt el table data 61 34 gridData 34 size 61 34 mini 34 gt lt el table column type 61 34 selecti
  • vue 列表进行拖拽排序

    文章为记录项目 需引入插件vuedraggable handle 61 34 mover 34 为绑定拖拽图标的类名 xff0c 即可只能在图标上才可拖拽 lt el form item label 61 34 34 gt lt ul cl
  • vue elementui表单验证

    this refs form validateField 39 type 39 只为项目记录 这个代码为对部分表单字段进行校验的方法
  • element ui分开的开始结束日期验证

    废话不多说直接上代码 lt el form v show 61 34 showSearch 34 ref 61 34 queryForm 34 model 61 34 queryParams 34 inline 61 34 true 34
  • ant.design pro表格序号自定义,翻页也可按顺序来

    title 39 序号 39 dataIndex 39 index 39 valueType 39 indexBorder 39 width 48 hideInSearch true render text record index 61
  • ant.design pro 发布时间对应两个参数值

    title 39 时间 39 dataIndex 39 deployTime 39 valueType 39 dateRange 39 hideInSearch false render record 61 gt lt span gt re
  • 微信小程序图片水印添加

    js getCanvasOne url var mycenter 61 0 文字左右居中显示 var myheight 61 0 文字高度 const that 61 this const query 61 wx createSelecto
  • anaconda出现CondaHTTPError问题解决办法

    一 condarc xff08 conda 配置文件 xff09 Configuration Conda documentation condarc以点开头 xff0c 一般表示 conda 应用程序的配置文件 xff0c 在用户的家目录
  • 使用kalibr标定imu

    这种方法需要在ubuntu中安装matlab 本人只标定的imu 没有和摄像头联合标定 xff0c 方法和imu utils类似 xff0c 先用ros记录imu数据 xff0c 在通过kalibr来计算随机游走误差和高斯白噪声误差 1 首
  • 联合标定双目相机和imu,使用工具Kalibr

    文章目录 imu标定 xff0c 产生数据写入imu yaml中 xff0c 见下文 xff0c imu yaml文件要用于联合标定 双目相机标定 xff0c 产生数据文件用于联合标定 xff0c 文件名类似camchain homeubu
  • matlab从txt文件中提取出有效信息

    背景 从一份txt文件中筛选出有效信息 xff0c txt文件有非常多行 xff0c 依靠关键字筛选出有效行 xff0c 并从行中提取有效信息 test txt文件例如 xff1a aaa 1 2 3 valid 0 1 0 2 0 3 a
  • Python 基础 第一天

    print 34 Hello World 34 print 34 你好 xff0c 世界 34 在 Python 中以单下划线 xff08 xff09 开头命名的标识符 表示不能直接访问的类属性 xff0c 以双下划线 xff08 xff0
  • Python 基础 第二天

    import random import math 集合 xff08 set xff09 是一个无序的不重复元素序列 可以使用 或 set 函数创建集合 值得注意的是 一个空集合必须用set xff0c 使用 创建时会创建一个空字典 bas
  • Django 第六天

    Django高级扩展 静态文件 xff1a css xff0c js xff0c 图片 xff0c Json文件 xff0c 字体文件等 配置settings py xff1a STATICFILES DIRS span class tok
  • Python 爬虫 小练习

    获得某易云音乐 对应歌单下的所有歌曲的歌曲 专辑图片 歌手图片 lrc歌词 span class token keyword import span requests span class token keyword from span b
  • 免费GPU

    中国移动免费GPU资源 九天 毕昇还属于内侧阶段 xff0c 没有充值入口 没有GPU算力的同学可以体验一下 xff0c 不算广告 xff0c 纯属安利羊毛 引言 最近想跑一个模型 xff0c 但突然发现手头没有可用的算力了 然后朋友推荐了
  • 分布式 ROS PX4 GAZEBO 多机仿真 服务器-客户端模式

    这是一个目录 最终目标环境配置要求具体实施方案UAV0配置UAV1配置 执行 最终目标 实现主从机器多机仿真 xff0c 模拟真机部署 具体方案如下 xff1a 设定一台计算机为通信汇集节点 xff0c 处理所有无人机位姿 移动控制等 xf
  • 算法训练 最短路

    算法训练 最短路 问题描述 给定一个n个顶点 xff0c m条边的有向图 xff08 其中某些边权可能为负 xff0c 但保证没有负环 xff09 请你计算从1号点到其他点的最短路 xff08 顶点从1到n编号 xff09 输入格式 第一行
  • Ubuntu18开启ssh服务

    Ubuntu默认不会开启ssh服务 所以我们无法对Ubuntu进行远程连接 xff0c 这对Ubuntu的运维造成了很大不便 本文详细讲解如何在Ubuntu18下开启ssh服务 关键指令 root用户下 xff0c 非root用户所有指令前
  • alembic 常用命令有哪些?

    上节为大家讲解了alembic如何使用 xff1f 本节就为大家介绍一下alembic常用命令有哪些 xff1f alembic常用命令如下 xff1a 在讲这些命令用法之前 xff0c 我们先建立一个alembic demo数据库 然后再