技術情報

7. アップデート後、sql エラーが発生したため再度アップデートしたいです。強制的に Piwik を再度過去のバージョンからデータベースを再アップグレードさせるには ?

2016年06月15日 アップデート

※注 この記事は Piwik1.8~2.17のアーカイブ情報です

Piwik がより新しいバージョンへアップグレードされたものと思われたものの、データベース自体は実際にアップグレードされていないといったことは、まれなケースですが起こりえます。こちらの FAQ では特定のバージョンからどのようにデータベースのアップグレードを再度実行するかを説明しています。
これはたとえば、データベースアップグレードちゅうにデータベースが破損したり、オーバーロードした場合に起こりえます。 (そのため私たちはメンテナンスを有効にし、コマンドラインでアップグレードを実行することを推奨しています。)
core / Updates ファイルの新しい Piwik が最新のファイルにアップロードされていない場合にも起こりえますが、Piwik ユーザーは Piwik UI を訪れ、エラーにつながる部分的なアップグレードを発行します。
結果として、SQL エラーメッセージがしばしばいくつかの (または全ての) レポートにプリンとされます。次のようなエラーメッセージ

 
Error trying to execute the query 'CREATE TABLE [...]  Base table or view already exists: 1050 Table exists
 
SQLSTATE[42S22]: Column not found: 1054 Unknown column on clause
 
SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP X check that column/key exist
 
Error trying to execute the query 'ALTER TABLE' SQLSTATE[42S22]: Column not found: 1054 Unknown column
 
Error in Piwik  (tracker) : Error query: fetch ()  failed: Unknown column '...' in 'field list'

よいニュースは全てのケースで問題を解決することができ、あらゆるデータ損失または他の問題を経験しません。
次の SQL クエリを実行することで、手動で Piwik を実行し(例えば phpMyAdmin のようなツールを使用して)
再度アップグレードすることができます。

 
UPDATE `piwik_option` SET option_value = "1.X" WHERE option_name = "version_core";

1.X をあなたが以前使っていたバージョンに変更してください。このクエリを実行後、Piwik を確認するうと、アップグレード画面が再度表示されるはずです。あなたのPiwik容量が大きい場合、コマンドラインでアップグレードを実行できます。そうでなければ、シンプルにボタンをクリックして実行まで待ちましょう。

問題がすでにある場合、フォーラムまたは、世界を牽引する Piwik エキスパートによる有料サポートのコンタクトプロフェッショナルサービスで助けを得ることができます。

この記事は、2016/03/28時点のものです。
原文:After the update, I get sql errors, I would like to try the update again. How do I force Piwik to re-upgrade the database from a past version?