* あるDBのいくつかのテーブルを別のDBのテーブルと入れ替える [#o8c42430]

** 目的 [#uafc8d57]
- あるDBのいくつかのテーブルをダンプする。
- 別のDBの、それらのテーブルをDROPする。
- ダンプしたテーブルを、その別のDBにリストアする。

** スクリプト [#l82d6fed]
標準出力にechoされるので、ファイルに落として、シェルで実行する。

 #!/bin/bash
 
 db_name_from="db_1"
 db_name_to="db_2"
 tables="user
 product
 category
 order"
 function _dump {
     for t in $tables ; do
         echo "pg_dump $db_name_from -t $t > $t.dump"
     done;
 }
 
 function _drop {
     for t in $tables ; do
         echo "echo 'DROP TABLE $t' | psql $db_name_to"
     done;
 }
 
 function _restore {
     for t in $tables ; do
         echo "psql -f $t.dump $db_name_to"
     done;
 }
 
 case "$1" in
     dump)
         _dump;;
     drop)
         _drop;;
     restore)
         _restore;;
     *)
         echo "usage: $0 (dump|drop|restore)"
         exit 1;;
 esac

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS