1

symfony / doctrineアプリケーションに小さなスキーマ更新を行うための最良の方法は何ですか?

私の問題は、新しいサイドプロジェクトに取り組んでいて、必要に応じてここに新しい列を追加していることに気付くことがあります。ただし、私のDBにはすでに既存のデータがあり、完全な再構築を実行して、毎回変更を加えてDBを削除したくありません。

私も備品を書きたくありません。それらは煩わしいものであり、私のアプリケーションを使用してデータを挿入し、開発中にデータを保持する方がはるかに簡単です。また、特にこれを頻繁に行う場合は、1つまたは2つの列を追加するための移行を記述したくありません。

私の唯一の選択肢は次のとおりです。

  1. スキーマファイルに変更を加え、スキーマを変更するたびにデータベースをワイプします-または-
  2. スキーマファイルを更新し、データベースでalterステートメントを手動で実行します

最終的に、私がやりたいのは、データベースに変更を加えてsymfonyにスキーマファイルの外観を理解させるか、スキーマファイルに変更を加えてsymfonyに既存の変更にどのような新しい変更を加えるかを理解させることです。データベース。

助けてください!

ありがとう。初めてSOを使用するときは、応答が返ってくるかどうか楽しみです。

4

2 に答える 2

3

この投稿を見てください:

Doctrine を使用して既存のテーブルから移行を生成できますか?

およびこのリンク: http://www.doctrine-project.org/documentation/cookbook/1_0/en/code-igniter-and-doctrine:setup-command-line-interface

yaml ファイルを変更し、doctrine コマンドを generate-migrations-diff オプションで実行して移行ファイルを生成し、migrate オプションを使用して変更を移行することで、Doctrine から変更を生成してきました。

于 2009-11-24T18:29:13.277 に答える
-1

私はあなたが何を意味するかを正確に知っています。データベース構造がどのように見えるかをsymfonyに伝えるには2つの方法があります:

  1. yaml ファイルの作成 -> build-sql コマンドの実行 -> insert-sql コマンドの実行
  2. RDBMS 内にデータベースを作成 -> build-schema コマンドを実行

方法 1 では、データが毎回消去されます。方法 2 では、データはそのまま残ります。方法 2 の唯一の問題は、yaml ファイルにあった doctrine 固有の属性をすべて消去し、それらを再度追加する必要があることです。データベースにデータをリロードする必要がなくなります。

于 2010-04-23T14:46:09.653 に答える