問題タブ [doctrine-migrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1652 参照

symfony - Symfony2 - doctrine:migrations:diff は SQL の代わりに DB に依存しないコードを作成できますか?

実行php app/console doctrine:migrations:diffすると、必要に応じて新しい移行クラスが生成され、現在のデータベース スキーマがエンティティへの変更によって指定されたスキーマに変換されます。

この例は、fos_userテーブルを作成するために生成されたクラスを示しています。

ご覧のとおり、生成された移行は特定のデータベース サーバー (このインスタンスでは MySQL) に関連付けられています。

テストの実行時間を短縮する (予想される) パフォーマンス上の利点があるため、テスト環境でインメモリ sqlite データベースを使用したいと考えています。

上記で生成された SQL を取得して同等のものに変換することもできますが、$table = $schema->createTable(); $table->addColumn();これには時間がかかり、人間による SQL からコードへの変換が不十分であるため、エラーが発生する可能性があります。

doctrine:migrations:diff コマンドは、上記のプラットフォーム固有の SQL の代わりに、プラットフォームに依存しない移行コードを作成できますか?

0 投票する
1 に答える
1170 参照

php - Doctrine Migrations and Fixtures: エンティティをフィクスチャからマイグレーションでロードする

Doctrine Migrations と Fixtures の両方をうまく使用しているサイトがあります (素晴らしい機能です!) が、小さな問題があります。

テーブルと新しい外部キー フィールドを既存のエンティティのテーブルに追加しました。移行により、新しいテーブルに初期値が入力されます。

外部キーを使用してテーブルのデータをロードするフィクスチャで、フィールドを移行で作成された値の 1 つに設定する必要がありますが、そのリポジトリからエンティティを取得できないようです。

なぜそれが起こるのか、または私がこれをどのように行うべきかについての提案。

フィクスチャはContainerAwareInterface、エンティティ リポジトリにアクセスできるように実装しますが、次のことを行います。

この時点でDBに値があることがわかりますが、何も返しません。

0 投票する
1 に答える
2650 参照

symfony - Symfony2.1.7とDoctrineの移行バンドルエラー

私はこのチュートリアルに従っています:http://tutorial.symblog.co.uk/docs/extending-the-model-blog-comments.html#doctrine-2-migrations

1)Doctrine移行バンドルのインストール

1.1)-追加

composer.jsonへ

1.2)実行中

2)追加

AppKernel.phpで

3)ランニング

これでコマンドを実行し、現在のエンティティとデータベースの違いを見つける必要がありますね。しかし、代わりにエラーが発生します。

これはまさに(2.)の行です。

あなたは私を助けることができます?どんなアドバイスも大歓迎です!

0 投票する
5 に答える
6562 参照

symfony - ComposerでSymfony2バンドルをインストールする方法

私はWindowsを使用しており、Windowsインストーラーからcomposerをインストールしました。私がやりたいのは、DoctrineMigrationsBundleをプロジェクトにインストールすることなので、追加しました

"doctrine/doctrine-migrations-bundle": "dev-master"

プロジェクト内のcomposer.jsonファイルに移動して実行します

しかし、私が得るものは次のとおりです:入力ファイルを開くことができませんでした:composer.phar

私のcomposer.jsonファイル全体は

これを修正するのを手伝ってくれませんか。

0 投票する
1 に答える
592 参照

symfony - Symfony2 内の Doctrine2 移行は、インデックスの作成時に例外をスローします

問題

以前の移行が保留されていない状態で、次を実行します。

このエラーが発生しました:

余分な知識

  1. クラスの注釈を使用してエンティティを宣言しています。
  2. このコードは機能しています (ただし、これらの種類の例外の後に実行されないいくつかの操作を手動で実行する必要があります)。

知りたいこと

  1. そのバグの原因は何ですか?
  2. それを修正する方法はありますか?(たとえばDoctrineの更新またはいくつかのMySQLパラメータを介して)
0 投票する
1 に答える
2832 参照

php - Doctrine2 Migrations:Diff を停止する方法は、データベースに既に存在する外部キー関係を常に追加することから?

symfony2.1 プロジェクトで doctrine2 を使用しています。他のテーブルとの多対 1 のリレーションシップがいくつかあるエンティティがあります。これらの多対 1 の外部キー関係はデータベースで既に更新されていますが、migrations:diff または schema:update --dump-sql を実行するたびに、同じ更新コマンドが追加され、外部キー関係が再度追加されます。schema:validate を実行すると、マッピングがデータベースと同期していないと表示されます。

私のアプリケーションは正常に動作し、リレーションシップは適切に機能しており、データベースのスキーマは正しいようです。doctrine がまだこれらの外部キーを追加しようとしているのはなぜですか?

これが私のコードです(問題のあるパラメーターの1つ):

私の「チケット」エンティティには、次のものがあります。

現在、一方向になるように設定しているため、User エンティティに inversedBy はありません。

これにより、既にデータベースにあるにもかかわらず、移行または schema:update ダンプに次のものが生成されます。

ここで何が間違っているのか分かりますか?

0 投票する
1 に答える
1431 参照

php - Doctrine Migrations でのロールバックの問題

Symfony 2.3.1 を使用していて、DoctrineMigratios でデータベースをデプロイしたいのですが、「up()」関数で問題が発生しています。この例を実行しようとすると:

エラーが発生しました (もちろん、同じテーブルです) が、DoctrineMigrations はロールバックを実行せず、最終的にデータベースに "User" テーブルがあります。私の設定やプロジェクトの問題なのか、それとも DoctrineMigrations のバグなのかはわかりません。

誰か助けてくれませんか?

0 投票する
1 に答える
291 参照

symfony - Doctrine の移行で存在しないクラスが見つかりませんでした

doc:generate-migrations-diffにある移行クラスを生成するために使用しlib/migrations/ます。既にご存知かもしれませんが、doc:generate-migrations-...タスクによって tmp ディレクトリにいくつかのファイルが作成されます。いくつか問題があり、tmp dir からすべてのドクトリン ヘルプ ファイルを削除しました。そして今、実行すると、次のdoc:generate-migrations-diffメッセージで失敗します: Couldn't find class ToPrfxProduct2Site, I have Product2Siteclass, but there is no ToPrfxProduct2Site. 何か案は?