バージョン選択

フォーラム

メニュー

オンライン状況

67 人のユーザが現在オンラインです。 (56 人のユーザが フォーラム を参照しています。)
登録ユーザ: 2
ゲスト: 65
ken.ranger saitom もっと...

サイト内検索

質問 > その他 > doctrineがエンティティの変更を認識しない

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
thladsfjda
投稿日時: 2024/12/12 21:24
対応状況: 解決済
新米
登録日: 2024/12/12
居住地:
投稿: 6
doctrineがエンティティの変更を認識しない
[EC-CUBE]4.2.3
[サーバ]Apache AmazonLinux2023
[PHP]8.1.23
[データベース]PostgreSQL15.8
[現象]
doctrineがentityの変更を検知してくれません。
dtb_customerに新しくカラムを追加するために、「src/Eccube/Entity/Customer.php」に以下の記述をしました。

/**
 * @var string
 *
 * @ORM\Column(name="new_column", type="string", length=255)
 */
private $new_column;

/**
 * @return Customer
 */
public function setNewColumn($newColumn)
{
    $this->new_column = $newColumn;

    return $this;
}

/**
 * @return string
 */
public function getNewColumn()
{
    return $this->new_column;
}


この状態でファイル更新し、「php bin/console doctrine:migrations:diff」コマンドでマイグレーションの差分ファイルを作成しましたが、カラム追加の記述がされませんでした。
カラムを追加する記述を手動で行ったマイグレーションファイルを実行してみたところ、DBへのカラムの追加はうまくいくのですが、コード上にて追加されたカラムに値を入れたり、値を取得したりする処理が走ると、「doctrineがカラムを認識していない」という旨のエラーが出ます。
エラー内容:
Unrecognized field: new_column

以下、解決のために試した内容になります。
・entityのカラム定義や呼び出し元メソッドの見直し
・migrationファイル再作成・適用
・キャッシュ(doctrineのメタデータ・クエリ・リザルト含む)のクリア(php bin/console cache:clear)
・doctrineのスキーマ強制同期(php bin/console doctrine:schema:update --force)
・entityのnew_column関連記述を一度コメントアウトして更新、コメントアウト解除して再更新
・sudo権限でコマンド実行

未だ解決には至っていません。
何か原因等お分かりの点がありましたら、ぜひご教授いただけますと幸いです。
よろしくお願いいたします。
mcontact
投稿日時: 2024/12/13 8:23
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1562
Re: doctrineがエンティティの変更を認識しない
EC-CUBE標準のテーブルに対して、カラム追加のカスタマイズを行う場合はTraitから追加する必要があります。
下記に公式ドキュメントがありますので、参考にしてください。

https://doc4.ec-cube.net/customize_entity


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

thladsfjda
投稿日時: 2024/12/13 10:29
対応状況: 開発中
新米
登録日: 2024/12/12
居住地:
投稿: 6
Re: doctrineがエンティティの変更を認識しない
ご回答いただき、誠にありがとうございます。
いただいた内容を試し、結果がわかり次第ご共有させていただければと存じます。
よろしくお願いいたします。
thladsfjda
投稿日時: 2024/12/13 18:01
対応状況: 解決済
新米
登録日: 2024/12/12
居住地:
投稿: 6
Re: doctrineがエンティティの変更を認識しない
改めまして、こちらご教授いただきありがとうございました。
いただいたリンク参照し、traitを用いた方法で無事にカラムの追加ができました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は97,487名です
総投稿数は111,876件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2325
5
umebius
2085
6
yuh
1894
7
h_tanaka
1885
8
red
1574
9
mcontact
1562
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

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

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