我想使用ga Postgres 9.5数据库构建一个Rails数据库迁移,其中我有一个字符串列
def change
create_table :transactions do |t|
t.string transaction_type, null: false
但我想将列的值限制为仅限某些字符串。有什么方法可以将其构建到我的迁移中吗?如果是这样,那会怎么样?
答案 0 :(得分:0)
我认为更好的方法是在事务控制器中为create
操作添加字符串模式验证方法,如下所示。您可以找到有关回调here的更多信息。
before_action :validate_transaction_type, only: [:create]
答案 1 :(得分:0)
您可以在数据库中创建枚举类型,并使用该类型创建新列。查看这篇文章Rails enum and PostgreSQL enum。