View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
14778 | Bug reports | [All Projects] Installation | public | 2019-04-16 15:42 | 2019-08-30 14:41 |
Reporter | RomanFischer | Assigned To | c_schmitz | ||
Priority | none | Severity | block | ||
Status | closed | Resolution | no change required | ||
Product Version | 3.17.x | ||||
Target Version | Fixed in Version | ||||
Summary | 14778: Could not add administrator settings: CDbException: The table "{{users}}" for active record class "User" cannot be found in the | ||||
Description | I try to install limesurvey3.17.1+190408 in an Docker Container (Container based on Ubuntu 18.04) using an external PostgreSQL-database. The installation process works fine until sending the administrator settings (http://localhost:9987/limesurvey/index.php?r=installer/optional). The tables (46) and sequences (32) are created in the database. installed additional php-packages in the Docker-Container (all from Ubuntu 18.04 repositories): php7.2-xml | ||||
Steps To Reproduce | Just following the installation procedure to the administrator settings. | ||||
Additional Information | Could not add administrator settings: CDbException: The table "{{users}}" for active record class "User" cannot be found in the database. in /var/www/html/limesurvey/framework/db/ar/CActiveRecord.php:2390 Stack trace: #0 /var/www/html/limesurvey/framework/db/ar/CActiveRecord.php(413): CActiveRecordMetaData->__construct(Object(User)) #1 /var/www/html/limesurvey/framework/db/ar/CActiveRecord.php(682): CActiveRecord->getMetaData() #2 /var/www/html/limesurvey/application/models/LSActiveRecord.php(34): CActiveRecord->hasAttribute('created') #3 /var/www/html/limesurvey/framework/db/ar/CActiveRecord.php(398): LSActiveRecord->behaviors() #4 /var/www/html/limesurvey/application/models/User.php(53): CActiveRecord::model('User') #5 /var/www/html/limesurvey/application/controllers/InstallerController.php(594): User::model() #6 /var/www/html/limesurvey/application/controllers/InstallerController.php(87): InstallerController->stepOptionalConfiguration() #7 /var/www/html/limesurvey/framework/web/CWebApplication.php(282): InstallerController->run('optional') #8 /var/www/html/limesurvey/framework/web/CWebApplication.php(141): CWebApplication->runController('installer/optio...') #9 /var/www/html/limesurvey/framework/base/CApplication.php(185): CWebApplication->processRequest() #10 /var/www/html/limesurvey/index.php(194): CApplication->run() #11 {main}. | ||||
Tags | No tags attached. | ||||
Complete LimeSurvey version number (& build) | limesurvey3.17.1+190408 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | Firefox 60.6.1esr (64-bit) | ||||
Database & DB-Version | PosgresSQL 10.x | ||||
Server OS (if known) | Docker-Host: RHEL7, Container: Ubuntu 18.04 | ||||
Webserver software & version (if known) | Apache 2.4 | ||||
PHP Version | 7.2 | ||||
Additional informations:
It seems to me that the "SELECT * FROM lime_users" maybe is executed to test if an old installation exist. But later in the installation process, after table creation, someone has forgotten to execute the select statement again. And so the old result caused the failure - just a guess. |
|
I am sorry but I cannot reproduce the problem. I can install on Postgres without problems. |
|
As I mentioned above, we find an error message (in the db logs) when accessing the users table BEFORE we push the "populate database button" ! Maybe or maybe not that there is an relation of this db error to the later php error. To repoduce the problem again I erased the schema with: drop schema limesurveyplayground cascade; Then started the installation process again - and failed again. I made a pg_dump of the database created by your installation process. As you can see there is a table lime_users created! Kind Regards, limesurveyplayground.sql (147,006 bytes) |
|
If you do install again and again with same DB but different prefix : remind to clean up tmp/runtime directiry too. (maybe not related, just an idea) |
|
As you can see on this little screenshot, the tmp/runtime directory is quite empty - what should I remove? |
|
Try to upload again :-) |
|
BTW: I don't you different table prefixes, I removed the whole database schema and recreated it. |
|
|
|
My database administrator created a new PostgresSQL cluster and a new database. We got the same error. I attached the whole DB log (inclusive DB creation) and the apache access log, Attentions: It seems that the clocks of both servers are a little bit out of sync, so that may confuse when comparing the logs. Are there any other logs created while installation process (I did not find any)? apache_access.log (14,936 bytes) PGSHARE5-2019-04-19.csv (145,739 bytes) |
|
I found the reason for this error: Our database administration don't like to use the "public" schema. So when creating a database they create inside a new schema (named the same as database itself) and revoking all access rights to the "public" schema. For testing purposes I created a new database without a new schema, so that the database has only the "public" schema. USING THIS DATABASE HAVING ONLY A PUBLIC SCHEMA - THE INSTALLATION PROCESS WORKED CORRECTLY!!! Conclusion: The Installation procedure don't ask me for a database schema name. Surprisingly it finds my schema and creates the tables in it. But at a later screen it seems that the procecure looks in the public schema again (and don't find the users table): Suggestions:
Regards, Roman Fischer |
|
Short additional Information: Maybe the tables are created because our database admin sets the search path of the database to our created schema. |
|
Hey Roman, thank you for the feedback. Problem is/was that 'schema' does not exist in other database systems so it is never something we even considered to be a problem as the installation procedure needs to be compatible for all database systems (MySQL, Postgres and MSSQL) |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2019-04-16 15:42 | RomanFischer | New Issue | |
2019-04-17 14:45 | RomanFischer | Note Added: 51498 | |
2019-04-18 14:44 | c_schmitz | Assigned To | => c_schmitz |
2019-04-18 14:44 | c_schmitz | Status | new => feedback |
2019-04-18 14:44 | c_schmitz | Note Added: 51520 | |
2019-04-18 17:22 | RomanFischer | File Added: limesurveyplayground.sql | |
2019-04-18 17:22 | RomanFischer | Note Added: 51532 | |
2019-04-18 17:22 | RomanFischer | Status | feedback => assigned |
2019-04-18 18:04 | DenisChenu | Note Added: 51533 | |
2019-04-18 18:29 | RomanFischer | Note Added: 51534 | |
2019-04-18 18:29 | RomanFischer | File Added: emptyRuntime.PNG | |
2019-04-18 18:29 | RomanFischer | Note Added: 51535 | |
2019-04-18 18:31 | RomanFischer | Note Added: 51536 | |
2019-04-19 02:22 | DenisChenu | Note Added: 51537 | |
2019-04-19 09:05 | RomanFischer | File Added: apache_access.log | |
2019-04-19 09:05 | RomanFischer | File Added: PGSHARE5-2019-04-19.csv | |
2019-04-19 09:05 | RomanFischer | Note Added: 51538 | |
2019-04-23 13:12 | RomanFischer | Note Added: 51547 | |
2019-04-23 15:05 | RomanFischer | Note Added: 51550 | |
2019-04-23 15:59 | c_schmitz | Note Added: 51551 | |
2019-08-30 14:41 | c_schmitz | Status | assigned => closed |
2019-08-30 14:41 | c_schmitz | Resolution | open => no change required |