gpt4 book ai didi

slick - 如何在光滑的表列上添加值检查约束

转载 作者:行者123 更新时间:2023-12-05 08:00:33 24 4
gpt4 key购买 nike

我有如下要求在表上添加列约束:

改变表 CH

add constraint CH_N_TYPE_CHK check (N_TYPE = 'bc' or N_TYPE = 'pub');

所有插入到 CH.N_TYPE 的值都应该是 bcpub

我想使用 slick 的 table.ddl 来创建表。
我估计它可能涉及 Constraint 类,但它似乎只支持外键或索引,我在 slick 或 slick-test-kit 上搜索了代码但找不到任何提示。在光滑的 table 上是否可行?

最佳答案

我没有找到任何与检查约束使用相关的内容,我找到的唯一方法是在您的专栏中使用枚举。

CH(tag:Tag) extends Table[CHRow]("ch") {
val nType: Column[NType.Value] = column[NType.Value]("N_TYPE")
implicit val enumMapper = MappedColumnType.base[NType.Value, String](_.toString(), NType.withName(_))
.
.
.
}

然后定义你的枚举如下 抽象类 NType 扩展枚举 { val BC = 值 val PUB = 值

有了这个,您只能在您的列中插入值 BC 或 PUB。上面的代码遵循 slick 2.0 的模式,但稍作修改就可以在 slick 1 中使用它。

关于slick - 如何在光滑的表列上添加值检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18070476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com