如果数据库从应用程序中为空,则最初在rails中填充数据

时间:2013-08-23 18:33:31

标签: ruby-on-rails database activerecord seed

我创建了数据库迁移,并在开发和生产服务器上迁移了数据。我想从应用程序填充数据库,如果它是空的并且避免使用rake db:seed和其他类似的方法。我知道它可以通过rake db:seed完成,但由于应用程序已经部署,我不想污染deploy.rb for capistrano,或者在开发和生产上手动执行。

数据库打开时是否有任何挂钩或Active Record的初始化,我可以执行类似

的操作
if !Pages.first
  Pages.populate
end

我知道填充数据库的所有推荐方法,但我仍然希望从app中进行。

由于

1 个答案:

答案 0 :(得分:0)

正如您所说,这不是世界上最好的主意,但也许您可以尝试使用这些方法:

  1. 每次加载rails环境时都会调用的初始化程序。
  2. config.after_initialize区块中的某些内容。请参阅http://guides.rubyonrails.org/configuring.html