2016-04-11 7 views
2

2台のコンピュータ間でデータベースを同期するベストプラクティス(または可能であれば)は何ですか?私は職場に1台、自宅に1台のコンピュータを持っています。私は2つの同一の仮想環境を持っており、あるコンピュータで作業を終えてもう一方のコンピュータで作業を続けたいと思っています。アプリケーションコードの場合、gitを使って共有しても問題ありませんが、データベースに対する満足のいく解決策を見つけることはできません。私はgoogleとそれについて多くのことを読んで、多分それはまったく間違った方法です。私はリモートデータベースを使用しましたが、速度制限とインターネット接続が必要です。 あなたのご意見に多くの感謝をします。2つのローカル仮想開発環境間でデータベースを同期する方法

+1

これは良い質問ですが、明確にすべきことは1つあります。両方の方向の同期が必要ですか? これは、両方のDBを同時に起動して実行する必要があることを意味します。 同期したいDBのサイズは?データベースを停止し、DBファイルをGitにアップロードすることは実現不可能ですか? 私は、レプリケーションがアプリ開発環境の過剰なものだと感じています。 – evenro

+0

もう1つの質問 - アプリケーションのDBグローバル(すべてのユーザーが同じDBを使用しています)ですか、またはアプリケーションのインスタンス/ユーザーごとにローカルですか? – evenro

+0

いいえ、双方向同期は必要ありません。一度に1台のコンピュータのみがオンになります。サイズは小さく、例えば。 〜50 MB。 gitのバージョン管理の下にdumpを置くことを意味しますか? はい、DBはグローバルですが、ユーザーは1人だけです:-)開発DBです。 – Michal

答えて

0

MySQLレプリケーションに基づいてステートメントをセットアップできます。あなたは間違って行くことはできません。 - サーバ接続を確認するスクリプトがあることを確認してください - 遅延を測定するスクリプトがあることを確認してください(スレッドが処理中のログにスタックされている場合のみ)。スレーブのI/OとSQLスレッドをチェックします。

0

開発環境間でデータベースを同期させないでください。マイグレーションシステムとデータベースを作成するfakerシステムがあります。移行システムの

例:

https://laravel.com/docs/5.1/migrations

/** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('flights', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('name'); 
      $table->string('airline'); 
      $table->timestamps(); 
     }); 
    } 

移入データベース。 https://laravel.com/docs/5.1/seeding

関連する問題