Ruby on rails 如何在迁移中向数据库表添加条目?
我只是忘了怎么做,在网上找不到有用的教程 可以设置一个db表,然后在迁移过程中用数据填充它Ruby on rails 如何在迁移中向数据库表添加条目?,ruby-on-rails,database-migration,Ruby On Rails,Database Migration,我只是忘了怎么做,在网上找不到有用的教程 可以设置一个db表,然后在迁移过程中用数据填充它 因此,我用t.column:name=>:string获得了我的数据库“persons”,并希望在创建数据库后添加一个人。它有点像Person.add:name=>“Nobody”。。。但是我忘了该方法是如何准确调用的。试试这个Person.create(:name=>'nobody')尝试在seed.rb中使用krunal shah的示例。然后运行rake taskrake db:seed您不应该在迁移
因此,我用
t.column:name=>:string
获得了我的数据库“persons”
,并希望在创建数据库后添加一个人。它有点像Person.add:name=>“Nobody”
。。。但是我忘了该方法是如何准确调用的。试试这个Person.create(:name=>'nobody')
尝试在seed.rb中使用krunal shah的示例。然后运行rake taskrake db:seed
您不应该在迁移中创建新数据。不过,您可以更改现有数据
要填充数据库,应使用种子
这使得定义模式(迁移)和用正确的数据填充模式之间有了清晰的分离。可以假设您需要更频繁地更改种子(例如,添加新的查找值)。为数据库设定种子是一个简单的步骤,应该是可重复的,并且不会影响其余的数据。这正是我想要的。。。这是一个很简单的问题,但是当你忘记了方法名时……你可能想使用更有力的
Person.create不过,代码>。该版本在无法保存时引发异常,例如由于验证问题。它在self.up中工作。。。然后首先创建表格,然后在这个人下面创建…我不同意。例如,当您将枚举提取到实际模型中时,create是非常有意义的代码>一些数据。假设您有一个User.role
,它是admin
或visitor
,然后决定在roles
表中使其成为一个成熟的role
模型:您最好在迁移中实际创建现有的角色。我理解您的观点。如上所述:我更喜欢将数据与模式定义分开。我假设我的数据比我的模式变化更频繁。部署时,我总是同时运行迁移和种子。还不确定schema.rb中的数据会发生什么情况,所以rake db:setup
是否仍然有效?