我是ruby on rails的新手。我需要使用数据库迁移将一行插入到现有表中,该表已经有200多行数据,我还需要再插入一行。
我已经创建了一个迁移文件,如下所示,
class AddNewGrowingMethodToEnumValues < ActiveRecord::Migration
execute "INSERT INTO enum_values (enum_type, name, gdsn, created_at, updated_at) VALUES ('growing', 'Organic', '', now(), now())"
end
它正确/好吗?
有人能帮助我以正确/标准的方式进行移植以插入单行吗。
您可以写如下:
class AddNewGrowingMethodToEnumValues < ActiveRecord::Migration
enum_value = EnumValue.create(enum_type: 'growing', name: 'Organic', gdsn: '')
end
不需要写入created_at
和updated_at
。当我们运行此migration
时,rails
将为它们填充值。
您不应该使用迁移将数据插入数据库。迁移用于创建数据库结构。
如果必须插入准备好的数据,则应使用db/
目录中的seeds.rb
文件。
文件中有一个简短的解释,描述了你应该如何使用它
快乐编码:)