8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月22日 at 20:40

8.3.1から8.4.4へアップデートしましたが、ドキュメントライブラリがエラーで使えずバージョンダウンさせようかと考えたのですが方法がわかりません。
(検索してみたのですが該当するものが見つけられませんでした)

環境はさくらのレンタルサーバです。

よろしくお願いいたします。

タグ:

Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月25日 at 11:21
バージョンを下げた経験がないので詳細はわかりませんが、
少なくとも同じ環境内でやるとしたら、大変手がかかるかなと想像します。
(サイトが止まる状況は起こり得るかなと思います)

ドキュメントライブラリでエラーが出たということですが、
アドオンのドキュメントライブラリですか?

それともブロックのドキュメントライブラリですか?

アドオンの場合は作者に尋ねることになるか、自己責任で手直しするかになります。

ブロックの場合は、どんなエラーが出ていますか?

エラーの内容次第では、問題が解決できるかもしれません。

レンタルサーバの環境情報も併せてお伝えくださると、なお良いと思います。
(Webサーバ、PHPのバージョン、MySQLのバージョン、利用しているテーマやアドオンなど)
 

Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月27日 at 10:12
ご返事有難うございます。

ドキュメントライブラリの件ですが、標準のブロックで起きています。
エアーは内容は以下の通りで、海外の投稿ではMysqlの設定変更で対処するとあるのですが、さくらのサーバーでは変更できないとの回答とさくらからもらっています。

(海外の投稿)
http://github.com/concrete5/concrete5/issues/7311

(エラー内容)
An exception occurred while executing 'SELECT distinct n.treeNodeID, if(nt.treeNodeTypeHandle='file', fv.fvTitle, n.treeNodeName) as folderItemName, if(nt.treeNodeTypeHandle='file', fv.fvDateAdded, n.dateModified) as folderItemModified, case when nt.treeNodeTypeHandle='search_preset' then 1 when nt.treeNodeTypeHandle='file_folder' then 2 else (10 + fvType) end as folderItemType, fv.fvSize as folderItemSize FROM TreeNodes n INNER JOIN TreeNodeTypes nt ON nt.treeNodeTypeID = n.treeNodeTypeID LEFT JOIN TreeFileNodes tf ON tf.treeNodeID = n.treeNodeID LEFT JOIN FileVersions fv ON tf.fID = fv.fID and fv.fvIsApproved = 1 LEFT JOIN FileSetFiles fsf ON tf.fID = fsf.fID LEFT JOIN FileSearchIndexAttributes fis ON fv.fID = fis.fID WHERE ((nt.treeNodeTypeHandle = "file_folder") OR (fsf.fsID = 1)) AND (n.treeNodeParentID = ?) ORDER BY fv.fvTitle asc LIMIT 20 OFFSET 0' with params ["7"]: SQLSTATE[HY000]: General error: 3065 Expression #1 of ORDER BY clause is not in SELECT list, references column 'k2-infinities_k2i_data.fv.fvTitle' which is not in SELECT list; this is incompatible with DISTINCT

(サーバ環境)
# concrete5 Version
Core Version - 8.4.5
Version Installed - 8.4.5
Database Version - 20180717000000

# concrete5 Packages
Stucco (2.1.6)

# concrete5 Overrides
None

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
apache2handler

# PHP Version
7.2.14

# PHP Extensions
apache2handler, apcu, Core, ctype, curl, date, dom, exif, fileinfo, filter, gd, gettext, gmp, hash, iconv, intl, json, libxml, mbstring, mcrypt, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, posix, Reflection, session, SimpleXML, snmp, soap, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - -1
max_input_vars - 1000
memory_limit - 128M
post_max_size - 8M
upload_max_filesize - 2M
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 10000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
 

Re: Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年6月27日 at 3:37
動くようにできたのでアップしておきます。

先だって運用環境のさくらインターネットでphpバージョンを7.3に上げるのでサイトの対応をするようにとの通知がきたのでconcrete5のバージョンを8.3.2からphp7.3対応の8.5.1へアップすることにしました。

ここでも8.4.4にアップしたときと同じエラーが発生し、今回はconcrete5のバージョンアップは必須となってしまったのでエラー原因と発生箇所を探していじってみました。

やったことはエラーの原因であるOrder byで指定するカラムがselectにないこと(こういう認識ですが間違っていたらすみません)なので、selectにカラムを追記してみたら動くようになりました。

ソース:\updates\concrete5-8.5.1\concrete\src\File\FolderItemList.php
編集箇所:$this->query->select('distinct n.treeNodeID')

この文を以下のようにfv.fvTitleを追記して変更
$this->query->select('distinct n.treeNodeID,fv.fvTitle')

これでいいのかどうかわかりませんが、とりあえず表示も編集もできるようです。

なにかアドバイスがあればお願いいたします。
 

Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月25日 at 11:22
どの方法でアップデートしましたか?
http://concrete5-japan.org/help/5-7/developer/installation/upgrading-concrete5/
 

Re: Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月27日 at 10:14
ご返事ありがとうございます。

手順は「手動で管理画面からアップデートする」だったはずですが、もしかすると「リモートアップデート」だったかもしれません。

よろしくお願いいたします。
 

Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月27日 at 13:45
そのどちらかであれば、 application/config/ ディレクトリに update.php ファイルが作成されているはずです。初めてのアップデートであれば単に削除、2回目以降であれば、中に記載されているバージョン番号をアップデート作業前のものに戻します。そして、アップデート作業前にバックアップしたデータベースをインポートして元に戻せば、アップデート前の状態に戻れます。
 

Re: 8.3.1から8.4.4へアップデートしましたが元に戻す方法はありますか?

2019年3月27日 at 19:40
有難うございます。
やはりアップデート前のデータベースが必要ですよね。

今回アップデートして相当の手を加えておりまして、終盤にドキュメントライブラリを追加したところでエラーになってしまって、そこまでの編集を全て無くしてダウングレードするとなると新規に8.3.2を入れてそこで構築し直したほうがスッキリする気がしてます。

せっかくご教授頂いたのに本当に申し訳ありませんが、最後の最後でエラーになりショックが大きく、かつ手戻りが大きすぎて・・・もう少し気持ちが落ち着いてから考えます。

有難うございます。