3

「generate-migrations-db」が何をするかを説明している従来のドキュメントは次のとおりです。

http://symfony.com/legacy/doc/doctrine/1_2/en/07-移行

それは言う

既存のデータベース接続から移行クラスを生成します (doctrine-generate-migrations-db、doctrine-gen-migrations-from-db)

また:

移行の生成

Doctrine は、既存のデータベースまたは既存のモデルの移行クラスのセットを生成する機能と、スキーマを変更するためのコードを入力するための空白の移行クラスを生成する機能を提供します。

データベースから

既存のデータベースがある場合は、次のコマンドを実行して、データベースを再作成する一連の移行クラスを構築できます。

$ ./symfony doctrine:generate-migrations-db

つまり、データベースからスキーマを取得し、そのスキーマの作成を実行する移行を生成します。このプロセスでは、エンティティ、クラス、マッピングは使用されません。DB を取得して移行クラスを構築するだけです。

もうありませgenerate-migrations-dbん。そのタスクを実行するものはありますか? 見つかりませんでした。他のコマンドに置き換えられた場合は、お知らせください。削除されたばかりの場合は、お知らせください。

4

2 に答える 2

6

既存のデータベースの移行ファイルを作成する Doctrine または Migrations Bundle のコマンドを知りません。

だから、代わりに私がそれをした方法は次のとおりです。

  1. DoctrineMigrationsBundle をインストールする
  2. 新しい空のデータベースを作成する
  3. 「実際の」データベースではなく、この空のデータベースを指すように構成またはパラメーターを更新します
  4. 実行しますphp app/console doctrine:migrations:diff。これにより、データベーステーブルなどを最初から作成する移行ファイルが作成されます
  5. 構成/パラメータを元に戻します

これが役に立てば幸いです。

于 2013-10-15T09:54:33.513 に答える
1

DoctrineMigrationsBundleを見てください。これは、移行用の sql ステートメントで移行クラスを生成できます。

于 2013-08-05T08:09:47.970 に答える