質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

3回答

1116閲覧

個人開発環境PCのDBと共有DBの同期のとり方

退会済みユーザー

退会済みユーザー

総合スコア0

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

2クリップ

投稿2018/07/02 21:31

編集2018/07/02 21:39

環境

PostgreSQL 9.6.9

実現したいこと

複数人のローカルPC内にある個人単体テスト用のDBと、ネットワーク上にある共有DBのテーブル定義の同期を取りたいと思っています。
具体的には、共有DBのテーブル定義に変更(テーブルの項目追加や型変更など)があると
なんらかの方法で個人用DBと共有DBのテーブル定義に差異がある事を検知し
個人DBの持ち主が簡単なオペレーションで個人DBを共有DBに合わせて更新するような仕組みがないかなぁと思い
探しているのですが、見つけることができませんでした。
この様な複数DB間のテーブルレイアウトの同期を簡単に取る方法はあるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

共有DBのバックアップを個人PCのDBにリストアすればレイアウトは揃えられます。
第25章 バックアップとリストア
データもセットにすると同時に共有DBと同じになります。
双方のデータの同期までを簡単に行ってくれるものは無いんじゃないかと思いますし、
レイアウトの相違を検知するのはシステムカタログを比較すればできそうですけど、無いんじゃないかな。

投稿2018/07/03 00:29

編集2018/07/03 01:14
sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/03 20:36

ご回答ありがとうございます。 やはり方法はないんですかねぇ、、、 自作で時間かければなんとなく仕組みを作れそうな気もしますが、、、 ん~、悩ましい
guest

0

投稿2018/07/10 01:17

Tocchan

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

使用言語やフレームワーク次第ですが、いわゆるデータベースマイグレーションを利用することが一般的なやり方じゃないですかねぇ。

投稿2018/07/03 22:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/07/04 00:00

詳しくないのでご教示下さい。 マイグレーションで複数のDBの差異を検知する機能って有るんですか?
退会済みユーザー

退会済みユーザー

2018/07/04 00:16

DB の差異は検知はしませんよ。 DB に対する変更をマイグレーション機能を通じて実施することで、マイグレーション用の設定ファイル(?)が更新されたら、ローカルへ反映させるって手順になると思います。 ので、ローカルからはマイグレーション用の設定ファイル(?)を監視すればよいです。
sazi

2018/07/04 00:38

ありがとうございます。 その設定の差異を検知するのとか、設定を反映させるのが面倒そうですね。 それと、ファイルの場所がネックになりそう。
退会済みユーザー

退会済みユーザー

2018/07/04 01:00

> その設定の差異を検知するのとか、設定を反映させるのが面倒そうですね。 git + フレームワーク の仕事なんで、ほとんど自前でなんとかする必要は無いはずです。 DB への変更って機能変更と同期するんで、管理上も都合がいいです。
退会済みユーザー

退会済みユーザー

2018/07/04 02:26

C#での開発を想定していたので、EntityFrameworkでマイグレーションはできるんですが となると、マイグレーション前提のテーブル設計が必要になるし マイグレーションの機能を開発メンバーに周知が必要になるし、、、、 というのを踏まえて、DBのみでなんとかならんだろうか・・・と考えましたが saziさんが言われるようにDBだけでは難しいんでしょうかねぇ・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問