OpenPNE コミュニティのトピックが作成できない。

この間、SNSを移行したところ問題が発生。
コミュニティにトピック、イベントが作成できなくなり、実質コミュニティに書き込めなくなった。

原因はサーバー移行のタイミングで最新版へのバージョンアップも行った事...と考える。どうも古いバージョンと新しいバージョンではコミュニティ関連のテーブル構造が違うようだ。

古いバージョンのテーブル(2.4系)

mysql> desc c_commu_bak;
+---------------------+-------------------------------------------------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+-------------------------------------------------------------+------+-----+---------------------+----------------+
| c_commu_id | int(11) | NO | PRI | NULL | auto_increment |
| name | text | NO | | | |
| c_member_id_admin | int(11) | NO | MUL | 0 | |
| info | text | NO | | | |
| c_commu_category_id | int(11) | NO | MUL | 0 | |
| r_datetime | datetime | NO | MUL | 0000-00-00 00:00:00 | |
| r_date | date | NO | | 0000-00-00 | |
| image_filename | text | NO | | | |
| public_flag | enum('public','auth_public','auth_sns','auth_commu_member') | NO | | public | |
| is_send_join_mail | tinyint(1) | NO | | 1 | |
| is_regist_join | tinyint(1) | NO | | 0 | |
| is_display_map | tinyint(1) | NO | | 0 | |
| map_latitude | double | NO | | 0 | |
| map_longitude | double | NO | | 0 | |
| map_zoom | int(11) | NO | | 0 | |
| u_datetime | datetime | NO | | 0000-00-00 00:00:00 | |
+---------------------+-------------------------------------------------------------+------+-----+---------------------+----------------+
16 rows in set (0.00 sec)

新しいバージョンのテーブル(2.8系)
mysql> desc c_commu;
+-----------------------+-------------------------------------------------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-------------------------------------------------------------+------+-----+---------------------+----------------+
| c_commu_id | int(11) | NO | PRI | NULL | auto_increment |
| name | text | NO | | | |
| c_member_id_admin | int(11) | NO | MUL | 0 | |
| c_member_id_sub_admin | int(11) | NO | | 0 | |
| topic_authority | enum('public','admin_only') | NO | | public | |
| info | text | NO | | | |
| c_commu_category_id | int(11) | NO | MUL | 0 | |
| r_datetime | datetime | NO | MUL | 0000-00-00 00:00:00 | |
| r_date | date | NO | | 0000-00-00 | |
| image_filename | text | NO | | | |
| public_flag | enum('public','auth_public','auth_sns','auth_commu_member') | NO | | public | |
| is_send_join_mail | tinyint(1) | NO | | 1 | |
| is_regist_join | tinyint(1) | NO | | 0 | |
| is_display_map | tinyint(1) | NO | | 0 | |
| map_latitude | double | NO | | 0 | |
| map_longitude | double | NO | | 0 | |
| map_zoom | int(11) | NO | | 0 | |
| u_datetime | datetime | NO | | 0000-00-00 00:00:00 | |
+-----------------------+-------------------------------------------------------------+------+-----+---------------------+----------------+
18 rows in set (0.00 sec)

topic_authority と c_member_id_sub_admin が追加になったカラム。topic_authority のカラムが無いと、コミュニティ設定変更でトピック作成権限が設定できないから、コミュニティの書き込みができないわけですね...orz

ネットに情報全然無かったなぁ...

そもそもバージョンアップしなかった方が悪いのですが。でもCPIのコンパネからインストールしていたからバージョンアップできなかったので。(でもこの間見たらconfig.phpにもFTPアクセスできたのでバージョンアップできたかも)