2009-04-23 12 views
5

私はカップルの他の人と一緒にプロジェクトを進めています。私たちはすべて、プロジェクトのローカルコピーを持っています。これはsvn repoを介して常に更新されています。デベロッパー間でデータベーススキーマを同期する

私たちは開発の初期段階にあるため、私たちはしばしばデータベースのスキーマを変更します。これにより、コードを同期するときに多くの問題が発生します。これは、データベーススキーマを同期させるための優れた方法がないためです。

頻繁に変化するデータベーススキーマを同期させるための直感的で簡単な方法は何ですか?

私たちはCakePHPを使っています(これが良い解決策を見つけるのに役立つかどうかはわかりません)。 http://book.cakephp.org/view/734/Schema-management-and-migrations

そして、ここでは、追加のウェブサイトである:CakePHPの中でこの種の作業を行うにはいくつかのツールが見つかり

EDIT

http://bakery.cakephp.org/articles/view/cake-db-migrations-v2-1

答えて

2

データベースの移行は簡単な方法です作業データベースを同期させておく。基本的に、移行は、データベースを最新のスキーマに更新し、新しいテーブルを正しいデータで埋め込んで有効な状態に保つためのスクリプトです。

は、移行が提供するいくつかの機能があります。

  • ツールは、テーブルの作成/更新を自動化します。ツールは、スキーマのバージョンと実行する必要のあるスクリプトを追跡します。
  • 一部の移行ツールでは、SQLスクリプトの代わりにコード(c#、rubyなど)を実行できます。マイグレーション・ツールが提供するコード・ライブラリーは、通常、データベースに依存する部分を抽象化し、データベース・スクリプトをよりデータベースに依存しないようにします。

Ruby(移行はRailsの重要な部分)、C#、Javaで利用できるツールがあります。確かに、他の言語。

移行にはquestionshereの数があり、ツールチェーンに適合した移行ツールを検索することをおすすめします。

+0

HM。私たちのために働くかもしれないCakePHPのためのツールを見つけました! (私はこれをできるだけ早くテストしなければならない)あなたの提案をありがとう。 – codingbear

+0

np - あなたのためにうまくいくものを見つけられたらうれしいです。がんばろう。 –

1

CakePHP Database Migrationsジョエル・モス(Joel Moss)は、現時点では最高の解決策です。 githubのから

プロジェクトの説明:CakePHPの1.2のための

データベースマイグレーションを使用すると、SQLの1を少し触れることなく、データベースのスキーマを管理することができますCakePHPのコンソールでサポートされているシェルスクリプトです。これはRuby on RailsのMigrationの実装に基づいており、PearのMDB2パッケージを使用しているため、サポートされているすべてのデータベースがサポートされています。

Migrationsは、データベースのバージョン管理システムと考えることができます。各メンバーはアプリケーションのデータベースの独自のコピーを保持し、移行を使用してスキーマを変更できるため、チームの一員として開発することができます。他のすべてのメンバーは、単純な2つの単語のシェルコマンドを実行することです。そのデータベースのコピーは他のメンバーと一緒に最新です。

Migrationsシェルは、作成するDBの変更ごとに移行ファイルを生成します。このファイルには、任意の数のDB変更を含めることができます。

0

私は、開発者間でデータベースを同期して本番環境に展開するために使用する小さなプロジェクトを開始しました。それはまだ初期の段階ですが、それが動作することが証明されているだけではまだ多くのドキュメントがありません。 Githubの上

http://code.google.com/p/php-mysql-version-control/

関連する問題