Hello,
I am running
Limesurvey Versión 1.90+ Build 9642 and
PostgreSQL 8.4.9 on x86_64, compiled by GCC gcc (GCC) 4.4.5 20110214, 64-bit. (This actually is the RPM build by the Postgres people published on their repository).
On the Postgres ecosystem, we have this:
Code:
CREATE ROLE lime LOGIN
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
And we have the database
limesurvey_db with the
lime owner.
Then querying the
lime_settings_global table the record
"DBVersion" is set to
"143".
To proceed with an upgrade, I made a complete copy of the database called
limesurvey_db_test.
Code:
#su - postgres
$psql
$createdb --template=limesurvey_db --owner=lime limesurvey_db_test
Then, I prepared a complete new server with Centos 6.5 and extracted the last version of Limesurvey 2.05+ (
limesurvey205-build131209.tar.gz to this date).
After installing all the requirements and optional packages:
The wizard reads the parameters to migrate the database, pointed to the
limesurvey_db_test and then appears an error without details.
Looking forward the way to debug I changed the
limesurvey/application/config/config.php file with
debug=>2 and
debugsql=>1.
Finally I got this output:
Code:
CDbCommand failed to execute the SQL statement: SQLSTATE[25P02]:
In failed sql transaction: 7
ERROR: current transaction is aborted, commands ignored until end of transaction block.
The SQL statement executed was:
ALTER TABLE lime_labels ALTER COLUMN language SET NOT NULL
And the Postgres Log
Code:
ERROR: column "language" is in a primary key
STATEMENT: ALTER TABLE lime_labels ALTER COLUMN language DROP NOT NULL
ERROR: current transaction is aborted, commands ignored until end of transaction block
STATEMENT: ALTER TABLE lime_labels ALTER COLUMN language SET NOT NULL
This looks like a bug to me than anything else. It is supposed to be a smooth migration.
Some clues? Or another way to debug? Where are these update instructions?