問題タブ [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.
php - Doctrine 2 Migrations Diff はテーブルごとに複数の外部キーを生成しません
Symfony / Doctrine 2 で簡単なブログを作成していて、php app/console doctrine:migrations:diff
コマンドで問題が発生しました。
情報:
- Postgresql
- 関連するテーブル: Post、Category、fos_user
- 投稿テーブルには、user_id と category_id の 2 つの外部キーが必要です。
- diff は post テーブルに 1 つの外部キーのみを生成します
- ユーザーの manyToOne 宣言が投稿エンティティの doctrine 設定ファイルのカテゴリ ID の前にある場合、投稿テーブルは user_id 外部キーを取得しますが、category_id は取得しません (diff の実行時)。
- カテゴリ エンティティの manyToOne 宣言をユーザー エンティティの上に移動すると、投稿テーブルはカテゴリ ID を取得しますが、ユーザー ID は取得しません。
inversedBy 部分、joinColumn 部分などを使用して、または使用せずに manyToOne 宣言を試しました。以下は私の YML 構成です。この構成では、user_id 外部キーが投稿テーブルに作成されますが、カテゴリ ID は作成されません。(投稿構成の下部を参照)
誰かに何かアイデアがあれば、本当に感謝します!
投稿エンティティ設定
カテゴリ エンティティ構成
ユーザー エンティティ構成
カテゴリ エンティティ コード
投稿エンティティ コード
php - Doctrine Migrations をテストするには?
開発環境に本番 DB のコピーがないプロジェクトに取り組んでいます。
DB の移行で問題が発生することがあります。開発用の DB は渡されますが、運用環境/テストでは失敗します。
多くの場合、開発環境データは、最新のエンティティを使用するフィクスチャからロードされ、すべてのテーブルが適切に埋められるためです。
Doctrine Migration(s) が本番環境で成功することを確認する簡単な方法はありますか?
本番/テスト用 DB をダウンロードして手動で移行を実行しなくても、データが適切に移行されることを確認する自動テストを作成する方法を知っていますか?
DB にはプライベート データが含まれており、非常に大きくなる可能性があるため、移行を確認できるように、運用/テスト用 DB を開発マシンにダウンロードすることは避けたいと考えています。
symfony - Symfony 2.7 - DateTimes が永久ループに陥った Doctrine の移行
私はこれに対する答えを探してインターネット、本、フォーラムを精査しましたが、ここの誰かが助けてくれることを願っています.
教義でエンティティ注釈を使用して、標準の Symfony 2 プロジェクトをセットアップしています。私が抱えている問題は、日時型を含むエンティティが常に移行したいということです。したがって、データベースへの最初の移行後、 docrine:schema:update --dump-sql を再実行できますが、まだこれが表示されます:
ここに一日中座って移行を実行し、これを確認しても、同じままです。エンティティには特別なものはありません:
誰かがこれについて何か考えを持っていますか? 私は今、完全に困惑しています:(。
mysql セットアップも最新の 5.6.25 です
移行後の列構造は次のようになります
php - composerを使用してSymfony3でDoctrineMigrationsBundleをインストールできません
私は Symfony にかなり慣れていないので、彼らの指示 ( http://symfony.com/doc/current/book/installation.html ) に従って、Symfony を使用して新しいプロジェクトをインストールおよび構成すると考えました。
「インストーラーなしで Symfony アプリケーションを作成する」オプションを選択し、composer を使用して新しいプロジェクトを作成しました。
手紙の残りの指示に従い、アプリを起動して実行しました。ここまでは順調ですね。ここで、DoctrineMigrationsBundle を使用してデータベースの移行をインストールしたいと考えました ( http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html )。そして、それが物事が毛むくじゃらになったところです。
彼らのページの上部には「2.1 バージョン」と表示されており、選択できる代替バージョンはありません。これは、説明が Symfony2.1 向けであることを意味していると思います。とにかく先に進み、リストされたコマンドを実行しました。基本的なインストール プロセスについて、どの程度変更できるのでしょうか。
これにより、composer からの大量のエラーが発生し、要件 (以下を参照) を解決できず、どこでハングアップしたかがわかります。バンドルと他のコンポーネントの他のいくつかのバージョンをインストールしようとしましたが、問題を突き止めましたが、何も見つかりませんでした。
パッケージ情報を含む composer リポジトリーをロードしています 依存関係を更新しています (require-dev を含む) 要件は、インストール可能なパッケージのセットに解決できませんでした。
悪い出力で申し訳ありませんが、神への愛のために、適切にフォーマットする方法がわかりません:/
とにかく、Symfony3でDoctrineMigrationsBundleをインストールする方法を正しい方向に押し進めることができれば、それは本当に素晴らしいことです.
まだ対応していないのではないでしょうか?
symfony - php7 に切り替えた後、本番環境で doctrine:migrations:status を実行するとセグメンテーション違反が発生する
ランニング:
Segfault が表示されますが、本番環境でのみ、キャッシュが作成された後にのみ発生します。したがって、キャッシュをクリアした後、コマンドは正常に実行されます。ただし、コマンドを 2 回目に実行すると、Segfault が発生します。
doctrine/migrations
APCU を有効にして、Symfony 2.7.4 と PHP7.0.0の最新バージョンを実行しています。
この問題は、PHP7 に切り替えた後に顕在化し始めました。Mac (el capitan) と Ubuntu サーバー (14.04) の両方で同じ問題が発生しています。
誰かが同様の問題を経験していますか?
ありがとう!
symfony - Rename table name with Doctrine migrations
I've searched pretty much everywhere but I wasn't able to find anything.
Is there a command or a procedure to change the name of a table (so inside doctrine annotation) without loosing data?
Basically, something that will produce something like
or
MySQL commands taken from here
Should I write manually the migration file with doctrine:migrations:generate
?
doctrine-orm - Doctrine Migrations のトリガー
ドクトリン移行クラスでかなり複雑なトリガーを作成しようとしています:
https://github.com/2ndQuadrant/audit-trigger/blob/master/audit.sql
最初の衝動は、トリガー コード全体を 1 つの大きな塊に入れて追加することでした。
と:
ただし、移行は失敗します
これは教義の移行で管理することさえ可能ですか? これを行うための回避策/ベストプラクティスはありますか?