LoginSignup
9
7

More than 5 years have passed since last update.

Rails で YamlDb を使って MySQL から PostgreSQL へデータを移行する

Posted at

目的

Rails のプロジェクト内で MySQL から PostgreSQL へのデータ移行を行う

前提条件

  • 移行元・移行先のデータベースともに手元から接続するための設定は済ませておく
  • MySQL 用の gem をインストールするのに必要なライブラリはインストールしておく

移行手順

移行に必要な gem を Gemfile に追加:

# Gemfile
gem 'yaml_db'
gem 'mysql2'

移行元データベースの定義を追加する:

# config/database.yml
legacy:
  adapter: mysql2
  encoding: utf8
  database: legacy_production
  username: <%= ENV['LEGACY_DATABASE_USERNAME'] %>
  password: <%= ENV['LEGACY_DATABASE_PASSWORD'] %>
  host: <%= ENV['LEGACY_DATABASE_HOST'] %>

bundle する:

$ bundle

移行元データベースからデータをエクスポートする:

$ bin/rake db:data:dump_dir RAILS_ENV=legacy

移行先データベースへインポートする:

$ bin/rake db:data:load_dir

参考

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7