バージョン選択

フォーラム

メニュー

オンライン状況

63 人のユーザが現在オンラインです。 (46 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 63
もっと...

サイト内検索

質問 > その他 > カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地: 東京都
投稿: 1567
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう
dtb_customer_colorを手動で作成されたのでしょうか?
一度削除してプラグインをインストールすると動くようになるかと思います


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

cym
投稿日時: 2022/5/24 11:32
対応状況: −−−
新米
登録日: 2021/7/18
居住地:
投稿: 6
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう
引用:

redさんは書きました:
dtb_customer_colorを手動で作成されたのでしょうか?
一度削除してプラグインをインストールすると動くようになるかと思います


返信ありがとうございます。

カスタマイズ領域に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
居住地: 東京都
投稿: 1567
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう
現在の状態で、
./bin/console doctrine:schema:update --dump-sql
を叩くとどういう状態になりますか?

なにか不整合が起きていると思うのですが


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

cym
投稿日時: 2022/5/24 22:11
対応状況: −−−
新米
登録日: 2021/7/18
居住地:
投稿: 6
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう
引用:

redさんは書きました:
現在の状態で、
./bin/console doctrine:schema:update --dump-sql
を叩くとどういう状態になりますか?

なにか不整合が起きていると思うのですが


ありがとうございます。
最悪お客様への納品時には、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
居住地: 東京都
投稿: 1567
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう
どこかのタイミングで実際のスキーマと、doctrineが認識しているスキーマがずれてしまっているのが問題なので、
・キャッシュを消してみる
・プロキシを再生成してみる
・dtb_customer_colorを二重に生成していないか確認してみる
ぐらいしかないような気がします


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

cym
投稿日時: 2022/5/25 14:04
対応状況: 解決済
新米
登録日: 2021/7/18
居住地:
投稿: 6
Re: カスタマイズ領域から新規テーブルを作成後、プラグインインストールでエラーが出てしまう
引用:
・キャッシュを消してみる

composerのクリア、EC-CUBEのcacheディレクトリの手動物理削除、コマンドによるキャッシュ削除など…
いろいろ試してみていたのですが、相変わらずでした。

引用:
・プロキシを再生成してみる

何回も実施しておりますが、状況としては変わらないままでした。

引用:
・dtb_customer_colorを二重に生成していないか確認してみる

この点はまだ確認しておりませんでしたので、改めて見直してみましたが、
二重に生成するようなEntityではありませんでした。


この状態に至るまでのどこかにトリガーがあったと思うのですが・・・。

ズレが発生している事は理解できるものの、EC-CUBEのこのあたりの機能を自分の中にまだ落とし込めていないので、
「何と何がズレているか」等…これ以上調べることも出来ないと思いますし、
明確に「ずれてしまっているのが問題」と言っていただけたこともありまして、
一度、まっさらにした上で再度プラグインやカスタマイズ分を追加したところ解消されました。


たくさん助言をいただきましたのにお出しできる内容も少なく、スッキリできる解決方法にまでたどり着くことが出来ず申し訳ありませんでした。
お付き合いいただきありがとうございました。


原因が分からないため、気持ち悪い終わり方になってしまいますが、
インストールしなおしてやりなおすことで解消はされましたため解決済とさせていただきます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,282名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.