我需要在我的Rails应用程序中的现有表中添加一个新的整数列.该列只能有值1,2,3,所以我想在表/列中添加一个检查约束.如何在Rails迁移中指定此约束?
我现在开始使用Rails,我在论坛中查看,但我找不到任何可以解决我问题的方法.
在这里,我有一个分类表,它只有一个列的名称(类别中没有重复)所以我希望名称是主键,然后我有一个名称,main_photo,描述的产品表我想说一个产品只有一个类别,我是否需要在产品中添加一个名为category的列作为外键?
一个类别被认为有很多产品.
然后在类别模型中我如何说名称是主键,我如何在产品类别和类别中的主要名称之间进行对应?
我试图修改Ruby on Rails应用程序中的数据库迁移.我使用MySQL作为我的数据库,并希望将外键添加到正在创建的表中.我正在使用以下代码,并且在遵循在适当的列上创建空值的规范时,不应用外键约束.
class CreateBookCheckOuts < ActiveRecord::Migration
def self.up
create_table :book_check_outs do |t|
t.integer :book_id, :null => false, :options =>
"CONSTRAINT fk_book_check_out_books REFERENCES books(id)"
t.integer :person_id, :null => false, :options =>
"CONSTRAINT fk_book_check_out_people REFERENCES people(id)"
t.datetime :OutDate, :null => false
t.datetime :ReturnDate, :null => true
t.timestamps
end
end
def self.down
drop_table :book_check_outs
end
end
Run Code Online (Sandbox Code Playgroud)