質問 > 管理機能 > Entity を更新してもスキーマが更新されない |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Fh4mYMeqz9 |
投稿日時: 2020/6/2 21:38
対応状況: −−−
|
新米 登録日: 2011/8/26 居住地: 投稿: 6 |
Re: Entity を更新してもスキーマが更新されない ------
その後さらに調べたところ、最近入れたプラグインが ProductTrait を持っていました。 このためプロキシが作成されていました。 ProductTrait があると拡張前の Product を変更しても反映されないようです。 ------ ↑ありがとうございます、大変助かりました!! |
h_tanaka |
投稿日時: 2019/9/6 21:02
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: Entity を更新してもスキーマが更新されない 自己解決しました。
プロキシ生成コマンドを実行すると、ProductEntity のプロキシのみが生成されていました。 $ php bin/console eccube:generate:proxies gen -> /Applications/MAMP/htdocs/test/dev/app/proxy/entity/Product.php このファイルの中身を見てみると、更新前のカラムが残っていました。 app/proxy/entity/Product.php を手動でファイル削除しました。 その後スキーマ更新を再度行ったところ、ちゃんとSQLが発行されました。 $ php bin/console doctrine:schema:update --dump-sql gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_h0rUy3NXvG3S/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_h0rUy3NXvG3S/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_h0rUy3NXvG3S/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_h0rUy3NXvG3S/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_h0rUy3NXvG3S/Product.php The following SQL statements will be executed: ALTER TABLE dtb_product ADD coupon_id INT UNSIGNED DEFAULT NULL, DROP coupon_cd; 削除した Proxy を再作成して元に戻します。 $ php bin/console eccube:generate:proxies その後さらに調べたところ、最近入れたプラグインが ProductTrait を持っていました。 このためプロキシが作成されていました。 ProductTrait があると拡張前の Product を変更しても反映されないようです。 勉強になりました。
|
h_tanaka |
投稿日時: 2019/9/6 18:49
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Entity を更新してもスキーマが更新されない EC-CUBE4.0.2
商品情報にクーポンコードを持たせる実装をしました。 src/Eccube/Entity/Product.php
このときは問題なくスキーマ更新でDBに反映されました。 $ php bin/console doctrine:schema:update --dump-sql $ php bin/console doctrine:schema:update --dump-sql --force その後、カラムをクーポンコードからクーポンIDに変更したいと思い、次のように変更したのですが、スキーマ更新コマンドを打ってもカラムを更新するSQLが発行されません。 原因わかりますでしょうか? src/Eccube/Entity/Product.php
試したコマンドは次のとおりです。 $ php bin/console cache:clear --no-warmup $ php bin/console doctrine:schema:update --dump-sql gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_jZlU0NR7CH4V/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_jZlU0NR7CH4V/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_jZlU0NR7CH4V/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_jZlU0NR7CH4V/Product.php gen -> /var/folders/g8/2s6381qd4tbgr7r9rjb6tkh80000gn/T/proxy_jZlU0NR7CH4V/Product.php [OK] Nothing to update - your database is already in sync with the current entity metadata. なお、app/Customize/Entity は使用していません。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |