部署时在rails中迁移数据

时间:2014-03-30 12:29:12

标签: ruby-on-rails

我想要填充数据的两个表 - 国家和城市。用户不添加/更新这些表。我希望它们成为迁移的一部分,因此当我部署到Heroku时,数据也会被转移。到目前为止,我只是迁移结构(而不​​是数据)。这可能吗?

2 个答案:

答案 0 :(得分:1)

是的,这是可能的。像db/seeds.rb一样填充您的初始数据:

Country.create(name: 'Germany', population: 81831000)
Country.create(name: 'France', population: 65447374)
Country.create(name: 'Belgium', population: 10839905)
Country.create(name: 'Netherlands', population: 16680000)

并在生产中执行rake db:seed以从种子中加载数据。

Tutorial

答案 1 :(得分:0)

由于emaillenin说这些数据是种子,无论如何你可以使用迁移,如果你想要,没什么困难:

class ImportCountriesAndCities < ActiveRecord::Migration
  def self.up
    import_countries_and_cities
  end

  def self.down
    remove_countries_and_cities
  end

private
  def self.import_countries_and_cities
    ..
  end

  def self.remove_countries_and_cities
    ...
  end

end