Alembic:包含约束以拒绝带字符的字符串

时间:2016-11-11 02:27:09

标签: python sqlalchemy sql-like alembic

我有一张看起来像这样的表

> select * from mytable
  id        value
0  1  hello world
1  2  hello_world
2  3  hello+world

我正在尝试强加一个简化检查约束,其中value中的值不能包含:字符。我如何使用alembic.op对象执行此操作? upgrade()downgrade()函数有哪些?

编辑:我正在使用的数据库是Mysql。

1 个答案:

答案 0 :(得分:2)

在这种情况下,检查约束起作用

def upgrade():
    op.create_check_constraint("constraint_name_here", "mytable", "value not like '%:%'")

def downgrade():
    op.drop_constraint("constraint_name_here", "mytable", type_="check")

但是mysql不支持检查约束。 _(ツ)_ /¯