質問 > その他 > カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
cym |
投稿日時: 2022/5/19 8:15
対応状況: 解決済
|
新米 登録日: 2021/7/18 居住地: 投稿: 6 |
カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう ▼テンプレート
[EC-CUBE]4.0.6-p1 (新規インストール) [レンタルサーバ]さくらのレンタルサーバー [PHP] 7.4.28 [カスタマイズの有無] 有 [現象] 下記のようにカスタマイズ領域でEntityを追加し新規でdtb_customer_colorというテーブルを作成しました。 app/Customize/Entity/CustomerColor.php 中身は、ID、ユーザーID、カラーコード、登録日時、更新日時のgetter/setterのある至って普通のEntityです。 DB側を確認するとテーブルは正常に作成され、くわえてサイトからの登録・取得も問題なく行えております。 このEntityを作成後、決済プラグインを導入をすることになりプラグインの有効化を行ったところ、 dtb_customer_colorがすでに存在している という旨のエラーが出て、有効化ができません。 久しぶりにEC-CUBEを触ることになり、4系を今回初めてカスタマイズすることになり、マニュアルも一通り読んだものの、 スキーマ作成時、カスタマイズ領域ですでに作成されているテーブルをスキップさせる方法が分からず困っております。 解決方法がございましたら、ご教授いただきたいです。 宜しくお願いいたします。 |
red |
投稿日時: 2022/5/20 9:46
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう dtb_customer_colorを手動で作成されたのでしょうか?
一度削除してプラグインをインストールすると動くようになるかと思います
|
cym |
投稿日時: 2022/5/24 11:32
対応状況: −−−
|
新米 登録日: 2021/7/18 居住地: 投稿: 6 |
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう 引用:
返信ありがとうございます。 カスタマイズ領域にEntityを作成後、 ./bin/console eccube:generate:proxies ./bin/console cache:clear --no-warmup ./bin/console doctrine:schema:update --dump-sql --force を上記をたたきました。 その後、決済プラグインの有効化を行ったところ、 dtb_customer_colorがすでに存在している というSQLエラーで有効化できない状態でいます。 今後プラグインのインストール等をクライアント自身で行う可能性があることや、 クライアントはDBに関する知識がないことなどから、プラグイン有効化前に「テーブルを一度削除する」というのを避けたいです。 プラグインのインストール等を顧客に管理させなければいい、DBに関する知識を共有する というのも至極もっともな部分なのですが、 今回、直接の顧客ではないため難しいため、対応方法を模索しております。 何か方法はございますでしょうか? カスタマイズ手順などが間違えているようでしたらご指摘いただけますと幸いです。 |
red |
投稿日時: 2022/5/24 21:11
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう 現在の状態で、
./bin/console doctrine:schema:update --dump-sql を叩くとどういう状態になりますか? なにか不整合が起きていると思うのですが
|
cym |
投稿日時: 2022/5/24 22:11
対応状況: −−−
|
新米 登録日: 2021/7/18 居住地: 投稿: 6 |
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう 引用:
ありがとうございます。 最悪お客様への納品時には、EC-CUBE自体をインストールしなおして、 カスタマイズやプラグインを再度設置するつもりではいるのですが、 今後のためにも何かしら解消方法がわかればと思っております。 % ./bin/console doctrine:schema:update --dump-sql gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CartItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Customer.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Order.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/ProductClass.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Product.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CustomerAddress.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Shipping.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/OrderItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CartItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Customer.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Order.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/ProductClass.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Product.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CustomerAddress.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Shipping.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/OrderItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CartItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Customer.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Order.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/ProductClass.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Product.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CustomerAddress.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Shipping.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/OrderItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CartItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Customer.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Order.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/ProductClass.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Product.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CustomerAddress.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Shipping.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/OrderItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CartItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Customer.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Order.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/ProductClass.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Product.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CustomerAddress.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Shipping.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/OrderItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CartItem.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Customer.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Order.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/ProductClass.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Product.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/CustomerAddress.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/Shipping.php gen -> /tmp//proxy_FtZlpIloQxjU/src/Eccube/Entity/OrderItem.php 21:43:49 ERROR [console] Error thrown while running command "'doctrine:schema:update' --dump-sql". Message: "The table with name 'db_name.dtb_customer_color' already exists." ["exception" => Doctrine\DBAL\Schema\SchemaException { …},"command" => "'doctrine:schema:update' --dump-sql","message" => "The table with name 'db_name.dtb_customer_color' already exists."] ["file" => "/home/xxxxxxxx/www/test.won-vege.com/vendor/symfony/console/EventListener/ErrorListener.php","line" => 48,"class" => "Symfony\Component\Console\EventListener\ErrorListener","function" => "onConsoleError","uid" => "fefba27","user_id" => "N/A","session_id" => "N/A"] In SchemaException.php line 108: The table with name 'db_name.dtb_customer_color' already exists. すでにテーブルが存在しているエラーがでてしまいます。 |
red |
投稿日時: 2022/5/25 10:20
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう どこかのタイミングで実際のスキーマと、doctrineが認識しているスキーマがずれてしまっているのが問題なので、
・キャッシュを消してみる ・プロキシを再生成してみる ・dtb_customer_colorを二重に生成していないか確認してみる ぐらいしかないような気がします
|
cym |
投稿日時: 2022/5/25 14:04
対応状況: 解決済
|
新米 登録日: 2021/7/18 居住地: 投稿: 6 |
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう 引用:
・キャッシュを消してみる composerのクリア、EC-CUBEのcacheディレクトリの手動物理削除、コマンドによるキャッシュ削除など… いろいろ試してみていたのですが、相変わらずでした。 引用: ・プロキシを再生成してみる 何回も実施しておりますが、状況としては変わらないままでした。 引用: ・dtb_customer_colorを二重に生成していないか確認してみる この点はまだ確認しておりませんでしたので、改めて見直してみましたが、 二重に生成するようなEntityではありませんでした。 この状態に至るまでのどこかにトリガーがあったと思うのですが・・・。 ズレが発生している事は理解できるものの、EC-CUBEのこのあたりの機能を自分の中にまだ落とし込めていないので、 「何と何がズレているか」等…これ以上調べることも出来ないと思いますし、 明確に「ずれてしまっているのが問題」と言っていただけたこともありまして、 一度、まっさらにした上で再度プラグインやカスタマイズ分を追加したところ解消されました。 たくさん助言をいただきましたのにお出しできる内容も少なく、スッキリできる解決方法にまでたどり着くことが出来ず申し訳ありませんでした。 お付き合いいただきありがとうございました。 原因が分からないため、気持ち悪い終わり方になってしまいますが、 インストールしなおしてやりなおすことで解消はされましたため解決済とさせていただきます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |