説明
最適なオプションはgem yaml_dbで、 Heroku開発チームの腸内に登場しました。
gemの本質は、YAMLファイル内の1つのデータベースからのデータのダンプをディスクに保存し、それを別のデータベースにロードすることです(もちろん、このアプローチはバックアップにも使用できます)。
このアプローチの利点は、どのベースで作業するかが問題にならないことです。 理論的には、ActiveRecordアダプターが存在するすべてのデータベースがサポートされています。
最も単純なユースケース
Gemfileにyaml_dbを追加します。
gem 'yaml_db', :git => 'git://github.com/ludicast/yaml_db.git'
      
      Bundlerを起動します。
bundle install
      
      初期データベース構成:
config / database.yml
 production: adapter: sqlite3 database: db/production.sqlite3 pool: 5 timeout: 5000
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
      
      実際、ダンプ自体を実行します。
export RAILS_ENV=production 
      
        
        
        
      
     rake db:data:dump
      
      その後、データベースはdb / data.ymlにあるはずです。
すべて順調であれば、データベース構成を目的の構成に変更します。
config / database.yml
 production: adapter: mysql2 database: app_production username: root password: root host: localhost pool: 5 timeout: 5000
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
      
      必要なgemをgemfileに追加することを忘れないでください。
データベースを作成し、移行を実行します。
rake db:create 
      
        
        
        
      
     rake db:migrate
      
      最後に、ダンプを新しいデータベースにロードします。
rake db:data:load
      
      これでサーバーを起動し、すべてが機能していることを確認できます。
備考
Ruby 1.9ブランチを使用する場合、Bundlerバージョン1.0.10はデフォルトのYAMLエンジンとしてPsychをロードしますが、これはRailsの一部のバージョンでは正しく動作しないため、ダンプの挿入時に問題が発生した場合は、解決策の1つPsychをSyckに置き換える可能性があります。
config / application.rbの次の行
Bundler.require(:default, Rails.env) if defined?(Bundler)
      
      挿入する
YAML::ENGINE.yamler = 'syck'
      
      yaml_dbはデータをダンプできるだけでなく、データベース構造もダンプできます。
rake db:dump 
      
        
        
        
      
     rake db:load
      
      最初のタスクはデータと構造をダンプし、2番目のタスクはテーブルを作成してデータをロードします。
参照資料
yaml_dbの Herokuブログ投稿
Rails 2.x のyaml_dbブランチ