rake db:schema:dump不提供数据迁移信息 - 是否有自动获取方法?

pez*_*ser 3 migration activerecord ruby-on-rails

rake db:schema:dump
Run Code Online (Sandbox Code Playgroud)

此命令为您提供遗留数据库的模式,您可以从生成的模式中为该数据库构建迁移.

但是如果该数据库中包含数据,那么如果有一个rake命令来检索Rails生成的迁移文件中的数据,那就太好了.

也许我在做梦 - 可能要求Rails可以查看遗留数据库中的数据,并从现有数据中为您构建迁移,这可能要求太多 - 如下所示:

class LoadDefaultData < ActiveRecord::Migration
  def self.up
    bopeep = User.find_by_username 'bopeep'
    BlogPost.create(:title => 'test', :content => 'test', :author_id => bopeep.id, :status => 'ok')
  end

  def self.down
  end
end
Run Code Online (Sandbox Code Playgroud)

或者有办法吗?

Cor*_*ook 5

TobiasLütke需要将数据库从一个体系结构迁移到另一个体系结构,但需要将数据完整地复制.为了确保格式与架构无关,他创建了一个插件,将数据转储到YAML,然后将其重新加载回另一端的数据库.这是一个简单的rake任务,Tobi提供快速简便的指令.

http://blog.leetsoft.com/2006/5/29/easy-migration-between-databases

这可能有所帮助.

您可能还想查看YamlDB插件http://opensource.heroku.com/,它可以从一种数据库类型备份并还原到另一种数据库类型.这是一些说明