2019/03/22 07:55 JST

Geeklog Japan Forums

アップデート時のカラム不足


状態: オフライン

たくみん

Forum User
Newbie
登録日: 09/16/14
投稿数: 1
すみません。 質問させてください。 ドメインを新サーバーに引っ越しする際に、Geeklog をそのままアップロードしたところ、php や MySQL のバージョンが違うからかそのまま動きませんでしたので、新しいバージョンをダウンロードして移行を行ってみたところ、以下のようなエラーが発生し困っております。 ・現行サーバー php4.4.9 MySQL4.0.27 Geeklog1.6.1 ・移行先サーバー php5.3.28 MySQL5.0.92 Geeklog2.1.0 ・発生したエラー(/admin/ にアクセスした際) E_USER_ERROR(256) - 1054: Unknown column 'sp.draft_flag' in 'where clause' @ /system/databases/mysqli.class.php line 279 Call Stack 1 trigger_error /system/databases/mysqli.class.php 279 2 dbQuery /system/lib-database.php 213 3 DB_query /plugins/staticpages/functions.inc 133 4 plugin_getmenuitems_staticpages /system/lib-plugins.php 439 5 PLG_getMenuItems /lib-common.php 1905 6 COM_createHTMLDocument /admin/auth.inc.php 123 7 require_once /admin/index.php 33 array(3) { ["sql"]=> string(383) "SELECT sp.sp_id, sp.sp_label FROM gl_staticpage sp, gl_topic_assignments ta WHERE (sp.sp_onmenu = 1) AND (sp.draft_flag = 0) AND (sp.template_flag = 0) AND ta.type = 'staticpages' AND ta.id = sp_id AND (ta.tid = 'all') AND ( (ta.tid IN ('geeklog','20100614104934656','information')) OR ta.tid = 'all') AND (sp.perm_anon >= 2) ORDER BY sp_label" ["ignore_errors"]=> int(0) ["result"]=> bool(false) } gl_staticpage には、確かに draft_flag というカラムはありませんでした。 トップページでは、 SELECT sp_id,sp_title,sp_content,sp_format,created,modified,sp_hits,owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon,sp_php,sp_inblock,sp_help FROM gl_staticpage, gl_topic_assignments ta WHERE (sp_centerblock = 1) AND (draft_flag = 0) AND (template_flag = 0) AND ta.type = 'staticpages' AND ta.id = sp_id AND (sp_where = 0) AND ((ta.tid = 'homeonly') OR (ta.tid = 'all')) AND (perm_anon >= 2) ORDER BY sp_id のSQLに対し、Unknown column 'created' in 'field list' が出ています。 解決方法またはそのヒントでもございましたら、ご教示いただきますと幸いです。 よろしくお願いいたします。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5893
場所:Tokyo
E_USER_ERROR(256) - 1054: Unknown column 'sp.draft_flag' in 'where clause'
Staticpagesプラグインが正常にアップデートされていないようです。
必要なdraft flagなどがセットされていません。


対策としては

1.DBを旧バージョンに戻す
2.phpMyAdminで、gl_plugins の静的ページを、無効0 に変更する。 あるいはまた、/admin/install/rescue.php で、ログインしてプラグインの有効・無効切り替えにて、Staticpagesを無効に。
3.アップグレード実行

おすすめしませんが、手動で行う場合には、以下のブログも参考にしてください。
http://www.ivysoho.net/article.php/geeklog-2-1-update
これは2.0から2.1へ手動でアップグレードする方法となります。

gl_topicasignment は、2.0から話題複数対応になったため、静的ページ、記事、ブロックの話題対応テーブルとなります。
コンフィギュレーションの追加も必要。
このように、静的ページのテーブルから話題IDが消えて、ドラフトフラグが追加される他、様々テーブル構造が変わっています。


アップグレード時に、すべてのプラグインを無効にしてアップグレードしないとエラーになることが多いので、プラグインの無効化を先によろしくお願いします。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5893
場所:Tokyo
こちら、解決できたでしょうか。
どうしてもエラーになるなら、一旦静的ページをアンインストールして、新規インストールして、phpMyAdminでgl_staticpages を書き戻してやる。
gl_topicasignmentは、手動でセット。
これが最短の解決方法かとおもいます。

静的ページをTOPに表示するサイトの場合、静的ページを無効にしないままサイトをアップグレードするとかならず
アップグレード途中で失敗して静的ページのアップデートが中途半端に終わってしまう可能性は高いです。

アップグレードの際にはかならずプラグインを無効にしてください。

時刻はすべて JST , 現在の時刻は 07:55 AM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック