博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
alembic 实践操作
阅读量:4979 次
发布时间:2019-06-12

本文共 1859 字,大约阅读时间需要 6 分钟。

1. alembic [--config */alembic.ini ] current

2. alembic revision -m "add columns"

    编辑生产的模板文件,更新upgrade/downgrade

  如何编辑见后文。

3. alembic upgrade head[or version]

4. alembic downgrade -1

5. 编写模板文件 修改upgrade downgrade

revision = '...'down_revision = '...'from alembic import opimport sqlalchemy as sadef upgrade():    passdef downgrade():    pass

1)新建table

  op.create_table(    'account',    sa.Column('id', sa.Integer(), nullable=False),    sa.Column('created_at', sa.DateTime(), nullable=True),    sa.Column('updated_at', sa.DateTime(), nullable=True),     sa.Column('nickname', sa.String(length=48), nullable=False),     sa.Column('identityID', sa.String(length=255), nullable=False),    sa.PrimaryKeyConstraint('id'),    mysql_ENGINE='InnoDB',    mysql_DEFAULT_CHARSET='UTF8'  )  op.create_unique_constraint(    "uniq_account0identityID",    "account", [identityID]) or
  op.create_table(    'account',     ......       sa.UniqueConstraint('identityID',                    name='uniq_account0identityID')     ......   )

2)新增column

  op.add_column('account',           sa.Column('age', sa.Integer(), nullable=False)) or  op.alter_column('account', 'age',             new_column_name='sex',                    existing_type=sa.Integer())

3)重命名table

  op.rename_table('account', 'tb_account')

4)删除table

  op.drop_table('account')

5)创建外键

  op.create_foreign_key(          "fk_user_address", "address",          "user", ["user_id"], ["id"])

6)执行sql

marital_status_column = sa.Column('maritalStatus', sa.Boolean(), default=False)    op.add_column('account', marital_status_column)    account = sa.sql.table('baymodel', marital_status_column)    op.execute(        account.update().values({
'maritalStatus': True}) )

7)sqlalchemy主要types

sa.Integer()sa.String(length=255)sa.DateTime()sa.Text() sa.Boolean()

 

 

转载于:https://www.cnblogs.com/tangkaixin/p/6376692.html

你可能感兴趣的文章
Difference between Linearizability and Serializability
查看>>
IDEA使用操作文档
查看>>
UIView
查看>>
添加日期选择控件
查看>>
bzoj4765: 普通计算姬 (分块 && BIT)
查看>>
看完漫画秒懂区块链
查看>>
Oracle命令类别
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>
css选择器
查看>>
ASP.NET上传下载文件
查看>>
Galaxy Nexus 全屏显示-隐藏Navigation Bar
查看>>
Spring中使用Velocity模板
查看>>
上周热点回顾(8.18-8.24)
查看>>
Feature toggle
查看>>
day02
查看>>
gvim 配置Pydiction
查看>>
Linux安装指定mysql版本
查看>>
分布式锁的三种实现方式
查看>>
poj 2109 pow函数也能这么用?p的开n次方
查看>>