Hello,
To present more data concerning our problem, we repeated the upgrade process,
this time setting the parameter ‘debug’ in the configration file config.inc.php
to ‘On’.
Below is the most interesting part of the console output:
[pre-install]
-----
(mysqli): SELECT * FROM versions WHERE current = 1
-----
[load: upgrade.xml]
[version: 2.4.8.4]
[data: dbscripts/xml/upgrade/2.3.0_usersettings.xml]
-----
(mysqli): SHOW TABLES
-----
-----
(mysqli): select version()
-----
-----
(mysqli): SHOW COLUMNS FROM user_settings
-----
-----
(mysqli): ALTER TABLE user_settings CHANGE COLUMN journal_id assoc_id BIGINT(20) NOT NULL DEFAULT 0
-----
[schema: lib/pkp/xml/schema/signoff.xml]
...
[data: dbscripts/xml/upgrade/2.3.0_preupdate.xml]
...
[data: dbscripts/xml/upgrade/2.3.0_subscription_ip.xml]
...
[data: dbscripts/xml/upgrade/2.3.3_preupdate1.xml]
...
[data: dbscripts/xml/upgrade/2.3.3_preupdate2.xml]
...
[data: dbscripts/xml/upgrade/2.3.3_preupdate3.xml]
...
[data: dbscripts/xml/upgrade/2.3.3_preaffiliations1.xml]
...
[data: dbscripts/xml/upgrade/2.3.3_preaffiliations2.xml]
...
[data: plugins/reports/counter/counter_monthly_log_1_1.xml]
-----
(mysqli): SHOW TABLES
-----
-----
(mysqli):
ALTER TABLE counter_monthly_log RENAME TO counter_monthly_log_old
-----
-----
(mysqli):
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id, 0, count_jan as count, 0 FROM counter_monthly_log_old UNION SELECT year, 2 as month, journal_id, 0, count_feb as count, 0 FROM counter_monthly_log_old UNION SELECT year, 3 as month, journal_id, 0, count_mar as count, 0 FROM counter_monthly_log_old UNION SELECT year, 4 as month, journal_id, 0, count_apr as count, 0 FROM counter_monthly_log_old UNION SELECT year, 5 as month, journal_id, 0, count_may as count, 0 FROM counter_monthly_log_old UNION SELECT year, 6 as month, journal_id, 0, count_jun as count, 0 FROM counter_monthly_log_old UNION SELECT year, 7 as month, journal_id, 0, count_jul as count, 0 FROM counter_monthly_log_old UNION SELECT year, 8 as month, journal_id, 0, count_aug as count, 0 FROM counter_monthly_log_old UNION SELECT year, 9 as month, journal_id, 0, count_sep as count, 0 FROM counter_monthly_log_old UNION SELECT year, 10 as month, journal_id, 0, count_oct as count, 0 FROM counter_monthly_log_old UNION SELECT year, 11 as month, journal_id, 0, count_nov as count, 0 FROM counter_monthly_log_old UNION SELECT year, 12 as month, journal_id, 0, count_dec as count, 0 FROM counter_monthly_log_old ORDER BY journal_id, year, month
-----
Query:
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id, 0, count_jan as count, 0 FROM counter_monthly_log_old UNION SELECT year, 2 as month, journal_id, 0, count_feb as count, 0 FROM counter_monthly_log_old UNION SELECT year, 3 as month, journal_id, 0, count_mar as count, 0 FROM counter_monthly_log_old UNION SELECT year, 4 as month, journal_id, 0, count_apr as count, 0 FROM counter_monthly_log_old UNION SELECT year, 5 as month, journal_id, 0, count_may as count, 0 FROM counter_monthly_log_old UNION SELECT year, 6 as month, journal_id, 0, count_jun as count, 0 FROM counter_monthly_log_old UNION SELECT year, 7 as month, journal_id, 0, count_jul as count, 0 FROM counter_monthly_log_old UNION SELECT year, 8 as month, journal_id, 0, count_aug as count, 0 FROM counter_monthly_log_old UNION SELECT year, 9 as month, journal_id, 0, count_sep as count, 0 FROM counter_monthly_log_old UNION SELECT year, 10 as month, journal_id, 0, count_oct as count, 0 FROM counter_monthly_log_old UNION SELECT year, 11 as month, journal_id, 0, count_nov as count, 0 FROM counter_monthly_log_old UNION SELECT year, 12 as month, journal_id, 0, count_dec as count, 0 FROM counter_monthly_log_old ORDER BY journal_id, year, month
failed. Table 'dbname.counter_monthly_log' doesn't exist
1146: Table 'dbname.counter_monthly_log' doesn't exist
ADOConnection._Execute(
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id..., false)% line 864, file: .../ojs/lib/pkp/lib/adodb/adodb.inc.php
ADOConnection.Execute(
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id...)% line 452, file: .../ojs/lib/pkp/classes/install/Installer.inc.php
Installer.executeSQL(
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id...)% line 447, file: .../ojs/lib/pkp/classes/install/Installer.inc.php
Installer.executeSQL(Array[2])% line 400, file: .../ojs/lib/pkp/classes/install/Installer.inc.php
Installer.executeAction(Array[3])% line 269, file: .../ojs/lib/pkp/classes/install/Installer.inc.php
ERROR: Upgrade failed: DB: Table 'dbname.counter_monthly_log' doesn't exist
The last 2 mysqli commands are
ALTER TABLE counter_monthly_log RENAME TO counter_monthly_log_old
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id, 0, count_jan as count, 0 FROM counter_monthly_log_old UNION SELECT year, 2 as month, journal_id, 0, count_feb as count, 0 FROM counter_monthly_log_old UNION SELECT year, 3 as month, journal_id, 0, count_mar as count, 0 FROM counter_monthly_log_old UNION SELECT year, 4 as month, journal_id, 0, count_apr as count, 0 FROM counter_monthly_log_old UNION SELECT year, 5 as month, journal_id, 0, count_may as count, 0 FROM counter_monthly_log_old UNION SELECT year, 6 as month, journal_id, 0, count_jun as count, 0 FROM counter_monthly_log_old UNION SELECT year, 7 as month, journal_id, 0, count_jul as count, 0 FROM counter_monthly_log_old UNION SELECT year, 8 as month, journal_id, 0, count_aug as count, 0 FROM counter_monthly_log_old UNION SELECT year, 9 as month, journal_id, 0, count_sep as count, 0 FROM counter_monthly_log_old UNION SELECT year, 10 as month, journal_id, 0, count_oct as count, 0 FROM counter_monthly_log_old UNION SELECT year, 11 as month, journal_id, 0, count_nov as count, 0 FROM counter_monthly_log_old UNION SELECT year, 12 as month, journal_id, 0, count_dec as count, 0 FROM counter_monthly_log_old ORDER BY journal_id, year, month
The last one tries to transform the contents of the table counter_monthly_log
(now in table counter_monthly_log_old) and put it into a table of the same name.
Unfortunately, the problem here is that in the moment the table counter_monthly_log
does not exist anymore (as it was renamed to counter_monthly_log_old), so it is not
possible to insert there any data. The problem would not exist if the last command
would have been preceded by a command creating the table counter_monthly_log,
something like
CREATE TABLE `counter_monthly_log` (
`year` bigint(20) NOT NULL,
`month` bigint(20) NOT NULL,
`journal_id` bigint(20) NOT NULL,
`count_html` bigint(20) NOT NULL DEFAULT '0',
`count_pdf` bigint(20) NOT NULL DEFAULT '0',
`count_other` bigint(20) NOT NULL DEFAULT '0',
...
);
But it is not the case and so the upgrade process finally ends with an error
1146: Table ‘dbname.counter_monthly_log’ doesn’t exist
Thanks