カスタムコンテンツの初期データが出てこない時があり、idが重複する。

設置フォルダ: /var/www/html/
データベース: MySQL
SQLモード: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
baserCMSバージョン: 5.0.21
CakePHPバージョン: 4.4.17

どういう条件で出てこないのか、まだ検証してないんですが、
カスタムコンテンツのテーブルの初期データが表示されないことがあります。
その際は、フィールドの初期データも表示されません。
その出てない状態で、テーブルを新規登録するとテーブルのidが重複するようで、DBは以下のようになりました。

custom_entry_1_publication
custom_entry_1_recruit
custom_entry_2_occupations

custom_entry_1_publication、これが新規登録したテーブルで、その他は初期テーブルだと思います。
この数字の部分はidにあたると思うんですが、上記の通り「1」が重複しています。
DBには識別名が付いてるから問題ない?
これは仕様でしょうか?それともバグでしょうか?

自己返信
カスタムコンテンツの初期データが出てこないのは、
たぶん、独自テーマの初期データを反映しているからだと思います。
独自テーマを反映せずに、カスタムコンテンツをインストールして、テーブル見てみたら初期データ出てました。

というわけで、カスタムコンテンツを使う場合はテーマを作る前にインストールして、
カスタムコンテンツの初期データがある状態で、テーマの初期データを出力しないと、idが重複してしまう、
現時点では、そんな認識で進めようと思います。

何か間違ってたらご指摘いただけると幸いです。

「いいね!」 1

@hideichi こちら少し調べました。

  • カスタムコンテンツのインストール時にはテーマの初期データに関係なく、プラグイン側が持つ初期データを読み込み、テーブルも作成される
  • カスタムコンテンツの初期データを持っていないテーマの初期データ読み込みを実行すると、各テーブルの中身は空になるが、custom_entry_1_recruit、custom_entry_2_occupations は残ってしまう。
  • 新しくカスタムテーブルを作成すると id が重複してしまう。

Issue作成しておきました。

「いいね!」 2