icon Rails 的相关感想

db/seeds.rb

大约是一个月前,Ryan's Scrap 的 What's New in Edge Rails: Database Seeding 的文章中,谈到 Rails 3.0 新加了一个叫做 db/seeds.rb 的文件。

其目的是作用于数据库的 (population)。

类似的概念里有叫做“迁移 (migration)”的东西,Rails的世界里,指的是改变数据库的结构(schema)。这个通过db/migrate目录下面的 Ruby 脚本执行。

另一方面,db/seeds.rb 也向数据库插入数据。例如,在希望从开始状态准备初期管理者帐户的情况下使用。

在此之前这样的代码只在迁移脚本内描述,我想对此感觉不方便的不止我一个人。

db/seeds.rb 是像下面的例子一样的普通的 Rails 脚本:

Administrator.create(:name => 'root', :password => '')

专用的 Rake 任务 db:seeds 也具备。

虽然简单,但是我非常喜欢像这样的改进。感觉在向着 Rails 3.0 稳步前进。

此外,像Ryan 所说,这个新装置的目的并不是要代替测试夹具。应该在只限定执行程序所需的最少的数据集的输入的情况下使用。
--
黒田

(2009/06/08)