質問 > 管理機能 > 独自プラグインの有効化タイミングにフックしてDBを直接操作したい |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Goosuke |
投稿日時: 2021/6/9 17:39
対応状況: −−−
|
半人前 登録日: 2021/6/9 居住地: 投稿: 11 |
独自プラグインの有効化タイミングにフックしてDBを直接操作したい ▼テンプレート
[EC-CUBE] 4.0.5 新規インストール [レンタルサーバ] xampp [OS] windwos10 [PHP] 7.4.19 [データベース] 10.4.19-MariaDB [WEBサーバ] xampp [ブラウザ] chorome(最新) [導入プラグインの有無] 独自プラグイン(受注データに) [カスタマイズの有無] 無し EC-CUBE/Symfonyとも、さわり始めてまだ数日の者です。 dtb_order/dtb_order_item に、独自の項目を追加するプラグインを作成したいと考えています。 Entityで項目追加はでき、プラグインインストールと同時に項目は生成されていますが、プラグインを削除すると、Entityで追加したフィールドは、過去のデータもろともテーブルから削除されてしまいます。 実運用中に誤ってプラグインを削除する事もありえるでしょうし、その時過去データ全て削除されると困ります。 そこで、以下のような処理を実現したいと考えています。 1. プラグインの有効化処理にフックする 2. dtb_order/dtb_order_item に、所定の名前・型のフィールドが存在していなければ直SQLで追加する。(SQLは分かります) 3. 2で問題が無い場合はプラグイン初期化処理を正常終了する。 問題があった場合は、メッセージを出してプラグインの有効化は行わない。 色々ググってみましたが、 1.プラグイン有効化フック処理の書き方が分からない。 3.有効化処理をエラー終了させる方法が分からない。 という状況です。 どうぞご指導ください! 尚、追加する項目は、EC-CUBE本体の受注処理とは連携しません。 【追記】 質問した後で思ったのですが、 @ORM\Column(name="hogehoge", type="datetimetz", nullable = true) の所で何か追加?する事で、削除されないフィールドが作成できたりしないのでしょうか? |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 独自プラグインの有効化タイミングにフックしてDBを直接操作したい | Goosuke | 2021/6/9 17:39 |
Re: 独自プラグインの有効化タイミングにフックしてDBを直接操作したい | 468 | 2021/6/10 8:51 |
Re: 独自プラグインの有効化タイミングにフックしてDBを直接操作したい | Goosuke | 2021/6/10 9:28 |
Re: 独自プラグインの有効化タイミングにフックしてDBを直接操作したい | 468 | 2021/6/11 11:16 |
Re: 独自プラグインの有効化タイミングにフックしてDBを直接操作したい | Goosuke | 2021/6/11 11:44 |