我有posqtresql db。表格中有一个整数字段。如何让它只是积极的? 不在rails中验证。 我需要在迁移文件
中创建它答案 0 :(得分:3)
您可以在Postgresql中使用检查约束。 Rails迁移不会包含此行为,因此您必须自己编写SQL。 This page in the Rails Guides有几个关于如何处理这个问题的例子,所以一定要检查一下。
示例:
def up
create_table :people do |t|
t.integer :age
end
execute <<-SQL
ALTER TABLE people ADD CONSTRAINT age CHECK (age > 0);
SQL
end
注意:作为Rails Guides note,如果您要执行此操作,则必须使用SQL架构转储格式。这很容易设置,但它不允许你使用两个+不同的数据库系统(例如开发中的SQLite和生产中的PostgreSQL)。