如何在迁移中向数据库表添加条目?
我只是忘记了如何做到这一点,并且在互联网上找不到有用的教程。
可以设置一个数据库表,然后在迁移过程中用数据填充它。
所以我得到了我的数据库 "persons"
和 t.column :name =>; :string
并想在数据库创建后添加一个人。它类似于 Person.add :name =>; “Nobody”
...但是我忘记了该方法到底是如何调用的。
I just forgot how to do this and cannot find a helpful tutorial on the internet.
It is possible to setup a db table and then to fill it with data within the migration.
So I got my db "persons"
with t.column :name => :string
and want to add a person after the dbs creation. It was something like Person.add :name => "Nobody"
... But I forgot how the method is called exactly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个..
Person.create(:name => 'nobody')
Try this ..
Person.create(:name => 'nobody')
尝试在seed.rb 中使用krunal shah 的示例。然后运行 rake 任务
rake db:seed
Try to use krunal shah's sample in seed.rb. Then run rake task
rake db:seed
您永远不应该在迁移中创建新数据。不过您可以更改现有数据。
要填充数据库,您应该使用
种子
。这使得定义模式(迁移)和用正确的数据填充它之间有了清晰的分离。人们可能会假设您需要更频繁地更改种子(例如添加新的查找值)。为数据库播种是一个简单的步骤,应该是可重复的,并且不会影响其余数据。
You should never create new data in a migration. You can change existing data though.
To fill the database, you should use
seeds
.This makes for a clean separation between defining the schema (migrations) and filling it with the correct data. One could assume you will need to change your seeds more often (e.g. a new look-up value is added). Seeding the database is an easy step, should be repeatable, and not effect the rest of the data.