Joomler!.net - Decided on Joomla!

Jboard is Multiple Board!

 

Archives

Blog

Demo

Home » Blog » Joomla!2.5.xサイトを2.5.4にアップデートしたら不完全!?
Apr
14
2012

Joomla!2.5.xサイトを2.5.4にアップデートしたら不完全!?

EMailPrintPDF
0 votes
Written by:Joomler! 7673 hits

これ次で対応するのかな。2.5.3だったサイトを2.5.4にしたら、完全にアップデートできた。ところがだ、アップデートに失敗するサイトもある。失敗の原因は調べていないが、データベースの変更があるので、ファイルの上書きでは駄目だからとデータベーステーブルをJoomla2.5.4のものと比較してみた。

次の3点がJoomla2.5.4のサイトと異なる。これはアップデートに失敗したためだ。

  • com_joomlaupdateが登録されていない。
  • languagesテーブルの構造が異なる。
  • updatesテーブルが空でない。

エラーで止まったものだから、さてどうしたものかと思われたら以下のクエリをphpMyAdminなどで実行すると”良いかもしれない”。(環境による)

 

INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
(28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2012 Open Source Matters. All rights reserved.","authorEmail":"
 This e-mail address is being protected from spambots. You need JavaScript enabled to view it
 ","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);

INSERT INTO `#__menu` (`id`, `menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `ordering`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES
(22, 'menu', 'com_joomlaupdate', 'Joomla! Update', '', 'Joomla! Update', 'index.php?option=com_joomlaupdate', 'component', 0, 1, 1, 28, 0, 0, '0000-00-00 00:00:00', 0, 0, 'class:joomlaupdate', 0, '', 41, 42, 0, '*', 1);

ALTER TABLE `#__languages` ADD COLUMN `access` integer unsigned NOT NULL default 0 AFTER `published`;

ALTER TABLE `#__languages` ADD KEY `idx_access` (`access`);

UPDATE `#__categories` SET `extension` = 'com_users.notes' WHERE `extension` = 'com_users';

UPDATE `#__extensions` SET `enabled` = '1' WHERE `protected` = '1' AND `type` <> 'plugin';

 

※もちろん、”#_”部分は、ご自身のデーターベースプレフィックスに変更してから行う。

これは失敗した方用。さらに、ファイルも怪しいかもしれないので、アップデート用ファイルをダウンロードしてきて上書きする。

これで2.5.4になったつもりです。それでも、管理画面トップでJoomlaの最新バージョンの更新通知が消えないなら、上記3番目のupdatesテーブルを空にすると良い。※もちろん、他の更新も消えるので他の更新がある場合はその更新を行った後でやる。以下。

TRUNCATE TABLE `#__updates`

ここまでで失敗したサイトは綺麗になるかもしれない。

さて、ここからが本題で元々アップデートに成功していたサイトと比較していて気づいたのだが、アップデートに成功したかに見えていたサイトは実は完全に成功していたわけではなかった。データベースを比較してみるとlanguagesテーブルの構造がアップデートされていない。

だめじゃん。

上記のlanguages関連の2行を実行することで解決。その下のUPDATEも実行した方が良いかもしれない。私の場合は、確認してみると実行後の結果だったのでやらなかったが。

とても便利になったJoomlaだが、失敗すると面倒なことが起こりうることがわかった。想像できることだが。これなら、単にsqlファイルに書いたクエリを実行するのではなく、プログラムでupdateスクリプトを実行するように書いた方が安心なのかもしれない。もちろんそれにも対応しているのだから。

 

ADD A COMMENT

Subject*
:
Color Swatch




Email Link Page Code Text Align Center Text Align Justify Text Align Left Text Align Right Text Bold Text Quote Text Italic Text List Bullets Text List Numbers Text Strikethrough Text Underline World Link
Sun Unhappy Smile Evilgrin Wink Tongue Lightning Surprised Grin Rain Clouds Cloudy Snow Waii
Name*
:
EMail*
:
Please answer....
Submit Preview

JContentPlus for Joomla!1.5 powered by Joomler!.net

Related Items

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.