0

私は最近、gitの使い方を学び、それをサポートする優れたエディターと、プッシュ時にすべてをライブサイトにアップロードする優れたフックを持っています。これで、ローカルバージョン、開発テストバージョン、ライブバージョンができ、すべてが素晴らしいものになりました。私が見つけられなかった唯一の問題は、データベース間でMySQL構造を効率的に同期する方法に関する優れた解決策です。

プロジェクトを拡張するときによく直面する2つのシナリオは、列を追加するか、新しいテーブルを作成することです。私はこれをphpmyadminを介して行うことが多く、指定された変更をSQLとしてコピーして貼り付けることはできますが、3つ以上のリポジトリにコピーして貼り付けるよりも効率的なソリューションを目指しています。

現在、これらは私が検討している方法ですが、より効率的な方法をお勧めします。

リポジトリ:

  • ライブ-サーバー上のライブサイト
  • dev-サーバー上の開発サイト
  • ローカル-コンピューター上のローカルサイト

方法#1

phpmyadminによって生成されたすべてのSQLコマンドをコピーして、すべてのプロジェクトのデータベースに貼り付けます。

  • 結局のところ、実際には効率的なソリューションではありません

方法#2

どういうわけか(私にインスピレーションを与えてください)phpmyadminから生成されたすべてのSQLコマンドでいっぱいの配列でphpファイルを埋め、フックからそのphpファイルを実行します。サーバーのリポジトリの1つですべての構造変更を行い、ローカルからプルしてライブにマージしたら、MySQL構造を変更します。

  • きちんとしているが、それを実行する方法が完全にはわからない
  • ubuntuサーバーとローカルwampserverの両方で動作する必要があります

方法#3

サーバーとローカルの両方で機能するMySQLによるいくつかの優れたソリューション。

  • それがどのように機能するかわかりません。

お時間をいただきありがとうございます。より良い方法をご存知の場合は、ぜひ共有してください。私は意味をなす自動ソリューションを探しています。

4

2 に答える 2

1

http://www.liquibase.org/をお試しください

また、yiiで素晴らしい移行を見ました:http ://www.yiiframework.com/doc/guide/1.1/en/database.migration

CodeIgniterがこのようなものをサポートしているなら、それも良いことです。はい-私はそれがサポートされていると思います:上と下の両方。

人なら、それは移行で動作し、プログラミング言語を知っています-それならフレームワークのツールを使用しても大丈夫です。そうでない場合は、 http://www.liquibase.org/のようなxml/configを使用することをお勧めします。

于 2012-12-30T17:58:53.327 に答える
1

私が使用している両方のCodeIgniterには、これを処理するための優れたメソッドがあるように思われることに気づきました。Migrationという単語で検索することを知りませんでした。

うまくいけば、この質問を見つけたすべての人がこれに注意します。キーワードは、適切なソリューションを見つけるためのデータベース移行です。

どこを見ればよいかを指摘してくれたコメントに感謝します。

于 2012-12-30T17:04:03.373 に答える