Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entityファイルを複数更新し、スキーマ確認のため、bin/console doctrine:schema:update --dump-sql 出力の際、変更の差分がでてこないケースがある。 #4590

Closed
watarukashii opened this issue Jun 24, 2020 · 7 comments
Labels
document Improvements or additions to documentation
Milestone

Comments

@watarukashii
Copy link
Contributor

watarukashii commented Jun 24, 2020

概要(Overview)

Entityファイルを複数更新し、スキーマ確認の際に、以下コマンドで確認をとったところ変更の差分が出てきませんでした。
bin/console doctrine:schema:update --dump-sql
APP_ENV=dev でもprod でも起きました。

期待する内容(Expect) or 要望 (Requirement)

4.のスキーマ確認の際に変更した内容が表示されること。

追記:2020/06/25 10:07
ECCUBE4.0.4へアップデートの伴いDoctrineのアップデートでキャッシュドライバの変更があるため
キャッシュクリアが必要ということをドキュメントに追記する。

再現手順(Procedure)

1.Entityファイルの修正 (/src/Eccube/Entity/TaxRule.php の))
$tax_rateのoptions={"unsigned":true,"default":0}

        /**
         * @var string
         *
-         * @ORM\Column(name="tax_rate", type="decimal", precision=10, scale=0, options={"unsigned":true,"default":0})
+         * @ORM\Column(name="tax_rate", type="decimal", precision=10, scale=0, options={"unsigned":true,"default":10})
         */
-        private $tax_rate = 8;
+       private $tax_rate = 10;

2.bin/console doctrine:schema:update --dump-sql
変更差分がでてくる

     ALTER TABLE dtb_tax_rule ALTER tax_rate SET DEFAULT '10';

3.Entityファイルの修正 (/src/Eccube/Entity/TaxRule.php の))
tax_rateを5%に変更

4.bin/console doctrine:schema:update --dump-sql
変更差分がでてくるが実行結果は10%のままとなる。

※bin/console cache:clear --no-warmup すると再び修正内容が表示されます。
※bin/console eccube:schema:update --dump-sql でも同様の現象を確認しました。

環境 (environment)

  • EC-CUBE: 4.0.4
  • PHP: 7.x.x
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

@okazy okazy added this to the 4.0.x milestone Jun 24, 2020
@okazy
Copy link
Contributor

okazy commented Jun 24, 2020

@watarukashii
Doctrine関連のファイルはキャッシュが作成されますので、Doctrine関連のファイルを変更した場合はキャッシュの削除が必要になります。
ドキュメントのアップデート手順でもファイル差し替え後にキャッシュのクリアをしていただくような手順になっています。

https://doc4.ec-cube.net/update#4-%E5%80%8B%E5%88%A5%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%B7%AE%E3%81%97%E6%9B%BF%E3%81%88

こちらはEC-CUBEの実装の問題というより、適切なドキュメントがないという課題かと思います。

DBのスキーマ更新の手順はどちらを確認して実施されましたか?

@okazy okazy added the document Improvements or additions to documentation label Jun 24, 2020
@watarukashii
Copy link
Contributor Author

こちらはEC-CUBEの実装の問題というより、適切なドキュメントがないという課題かと思います。

ご返信いただきありがとうございます。
なるほど、ECCUBE4.0.3では、スキーマ確認の際にキャッシュクリアせずに反映されていたためissue した次第です。

アップデートに関して

https://doc4.ec-cube.net/update#4-%E5%80%8B%E5%88%A5%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%B7%AE%E3%81%97%E6%9B%BF%E3%81%88

https://github.com/EC-CUBE/sample-payment-plugin#dbの更新方法

見て作業を行いました!

@nanasess
Copy link
Contributor

なるほど、ECCUBE4.0.3では、スキーマ確認の際にキャッシュクリアせずに反映されていたためissue した次第です。

Symfony 3.4.30 から、 Doctrine のキャッシュドライバが変更になっているため、影響を受けている可能性があります
#4396

@watarukashii
Copy link
Contributor Author

@nanasess さん @okazy さん
Doctrineのキャッシュドライバの変更について、composer.lock の更新がされていること確認とれました。
ECCUBE4.0.4から、スキーマの更新の際、キャッシュクリアが必要ということで承知しました。ご返信いただきありがとうございました。

本issue は、ドキュメントの更新ができ次第クローズにするか、別でissue を立てて進行したほうがよいのか教えていただけますでしょうか?

https://doc4.ec-cube.net/update#4-%E5%80%8B%E5%88%A5%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%B7%AE%E3%81%97%E6%9B%BF%E3%81%88

https://github.com/EC-CUBE/sample-payment-plugin#dbの更新方法

@okazy
Copy link
Contributor

okazy commented Jun 25, 2020

Doctrine のキャッシュドライバの仕様が変更になっていたんですね。 👀

@watarukashii
確かに各リポジトリにIssueを立てた方が良さそうですね。
Issueの作成をお願いできますか?
作成したIssueにこのIssueを紐づけてこちたはクローズしましょう。

@watarukashii
Copy link
Contributor Author

@okazy
EC-CUBE/doc4.ec-cube.net#111
こちらに改めてissue 立てしました!

@okazy
Copy link
Contributor

okazy commented Jul 3, 2020

Issue の作成ありがとうございます!
以降の議論は作成いただいた Issue で行い、こちらの Issue は閉じさせていただきます。

@okazy okazy closed this as completed Jul 3, 2020
@okazy okazy modified the milestones: 4.0.x, Not release Jul 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
document Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants