Unknown column 'EmailQueue.to' in 'field list'

When performing a clean install of v2.0.1 without errors

EmailQueue.preview and EmailQueue.sender operations fail with the following error:

ansible@cri-global-pb-01:/var/www/passbolt$ sudo -u www-data bin/cake EmailQueue.preview
Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘EmailQueue.to’ in ‘field list’ in [/var/www/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php, line 39]

ansible@cri-global-pb-01:/var/www/passbolt$ sudo -u www-data bin/cake EmailQueue.sender
Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘EmailQueue.to’ in ‘field list’ in [/var/www/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php, line 39]

I’m attaching the schema for the email_queue table in case it’s of any use in troubleshooting:

describe passbolt.email_queue;
±--------------±-------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±--------------±-------------±-----±----±--------±---------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| email | varchar(129) | NO | | NULL | |
| from_name | varchar(255) | YES | | NULL | |
| from_email | varchar(255) | YES | | NULL | |
| subject | varchar(255) | NO | | NULL | |
| config | varchar(30) | NO | | NULL | |
| template | varchar(50) | NO | | NULL | |
| layout | varchar(50) | NO | | NULL | |
| theme | varchar(50) | NO | | NULL | |
| format | varchar(5) | NO | | NULL | |
| template_vars | text | NO | | NULL | |
| headers | text | YES | | NULL | |
| sent | tinyint(1) | NO | | 0 | |
| locked | tinyint(1) | NO | | 0 | |
| send_tries | int(2) | NO | | 0 | |
| send_at | datetime | YES | | NULL | |
| created | datetime | NO | | NULL | |
| modified | datetime | YES | | NULL | |
| attachments | text | YES | | NULL | |
±--------------±-------------±-----±----±--------±---------------+
19 rows in set (0.00 sec)

Thank you,
Ted

Checklist
[x] I have read intro post: About the Installation Issues category
[x] I have read the tutorials, help and searched for similar issues
[x] I provide relevant information about my server (component names and versions, etc.)
[x] I provide a copy of my logs and healthcheck
[x] I describe the steps I have taken to trouble shoot the problem
[x] I describe the steps on how to reproduce the issue

Healthcheck reports no relevant issues:

ansible@cri-global-pb-01:/var/www/passbolt$ sudo -u www-data bin/cake passbolt healthcheck

Open source password manager for teams

Healthcheck shell

Environment

[PASS] PHP version 7.0.28-0ubuntu0.16.04.1.
[PASS] PCRE compiled with unicode support.
[PASS] The temporary directory and its content are writable.
[PASS] The public image directory and its content are writable.
[PASS] The logs directory and its content are writable.
[PASS] GD or Imagick extension is installed.
[PASS] Intl extension is installed.
[PASS] Mbstring extension is installed.

Config files

[PASS] The application config file is present
[PASS] The passbolt config file is present

Core config

[PASS] Debug mode is off.
[PASS] Cache is working.
[PASS] Unique value set for security.salt
[PASS] Full base url is set to https://passwd.wpnops.net
[PASS] App.fullBaseUrl validation OK.
[PASS] /healthcheck/status is reachable.

SSL Certificate

[FAIL] SSL peer certificate does not validate
[FAIL] Hostname does not match when validating certificates.
[WARN] Using a self-signed certificate
[HELP] fopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
fopen(): Failed to enable crypto
fopen(https://passwd.wpnops.net/healthcheck/status.json): failed to open stream: operation failed

Database

[PASS] The application is able to connect to the database
[PASS] 18 tables found
[PASS] Some default content is present
[PASS] The database schema up to date.

GPG Configuration

[PASS] PHP GPG Module is installed and loaded.
[PASS] The server gpg key is not the default one
[PASS] The environment variable GNUPGHOME is set to /var/www/.gnupg.
[PASS] The directory /var/www/.gnupg containing the keyring is writable by the webserver user.
[PASS] The public key file is defined in config/passbolt.php and readable.
[PASS] The private key file is defined in config/passbolt.php and readable.
[PASS] The server key fingerprint matches the one defined in config/passbolt.php.
[PASS] The server public key defined in the config/passbolt.php is in the keyring.
[PASS] There is a valid email id defined for the server key.
[PASS] The public key can be used to encrypt a message.
[PASS] The public key can be used to sign a message.
[PASS] The public key can be used to encrypt and sign a message.
[PASS] The private key can be used to decrypt a message.
[PASS] The private key can be used to decrypt and verify a message.
[PASS] The public key can be used to verify a signature.

Application configuration

[PASS] Using latest passbolt version (2.0.1).
[PASS] Passbolt is configured to force SSL use.
[PASS] App.fullBaseUrl is set to HTTPS.
[PASS] Selenium API endpoints are disabled.
[PASS] Search engine robots are told not to index content.
[PASS] Registration is closed, only administrators can add users.
[PASS] Serving the compiled version of the javascript app
[PASS] All email notifications will be sent.

2 error(s) found. Hang in there!

This is the installation log in case it’s of any use

ansible@cri-global-pb-01:/var/www/passbolt$ sudo -u www-data bin/cake passbolt install --no-admin --force

Running baseline checks, please wait…
Critical healthchecks are OK

Cleaning up existing tables if any.

Dropping table phinxlog
1 tables dropped

Install the schema and default data.

using migration paths

  • /var/www/passbolt/config/Migrations
    using seed paths
  • /var/www/passbolt/config/Seeds
    using environment default
    using adapter mysql
    using database passbolt

== 20170830064410 V162InitialMigration: migrating
== 20170830064410 V162InitialMigration: migrated 2.5799s

== 20170830065037 V200ActiveMustBeBoolean: migrating
== 20170830065037 V200ActiveMustBeBoolean: migrated 0.6337s

== 20170830065038 V200DropUnusedProfileFields: migrating
== 20170830065038 V200DropUnusedProfileFields: migrated 0.9735s

== 20170830065039 V200IncreaseEmailSize: migrating
== 20170830065039 V200IncreaseEmailSize: migrated 5.0426s

== 20170830065040 V200DropUnusedCreatedBy: migrating
== 20170830065040 V200DropUnusedCreatedBy: migrated 2.8298s

== 20170830065041 V200MigrateUUID: migrating
== 20170830065041 V200MigrateUUID: migrated 10.6618s

== 20170830065042 V200MigrateKeyField: migrating
== 20170830065042 V200MigrateKeyField: migrated 0.0404s

== 20171002061834 V200DropUnusedResourceFields: migrating
== 20171002061834 V200DropUnusedResourceFields: migrated 0.2420s

== 20171006141922 V200AddFavoriteModifiedField: migrating
== 20171006141922 V200AddFavoriteModifiedField: migrated 0.2175s

== 20171009093000 V200DropUnusedPermissionTypesTable: migrating
== 20171009093000 V200DropUnusedPermissionTypesTable: migrated 0.0808s

== 20171009093001 V200MigrateEmailsTable: migrating
== 20171009093001 V200MigrateEmailsTable: migrated 0.5847s

== 20171009093002 V200MigrateFileStorageTable: migrating
== 20171009093002 V200MigrateFileStorageTable: migrated 0.5329s

== 20171025154754 V200AddCommentsUserIdField: migrating
== 20171025154754 V200AddCommentsUserIdField: migrated 0.3256s

== 20180102065042 V200MigrateForeignIdField: migrating
== 20180102065042 V200MigrateForeignIdField: migrated 0.1068s

== 20180102180000 V200DropUnusedTables: migrating
== 20180102180000 V200DropUnusedTables: migrated 0.1806s

== 20180102221500 V200AddMissingTablesIndexes: migrating
== 20180102221500 V200AddMissingTablesIndexes: migrated 0.0196s

All Done. Took 25.0642s
using migration paths

  • /var/www/passbolt/config/Migrations
    using seed paths
  • /var/www/passbolt/config/Seeds
    Writing dump file /var/www/passbolt/config/Migrations/schema-dump-default.lock
    Dump file /var/www/passbolt/config/Migrations/schema-dump-default.lock was successfully written

Import the server private key in the keyring

Importing /var/www/gpg/public.key
Keyring init OK

Passbolt installation success! Enjoy!

@teddyphreak
Can you please provide more information regarding your evnironment php, mysql, os versions.
If you could copy/paste here the cakephp cli logs (logs/cli-error.log) it could help to understand what’s going on.

Sure, the server is a fresh install of Ubuntu 16.04, here’s the os package list for mysql and php

ansible@cri-global-pb-01:~ dpkg -l | grep php | tr -s ' ' | cut -d ' ' -f 2-3 dh-php 0.10 php-apcu 5.1.3+4.0.10-1build1 php-common 1:35ubuntu6.1 php-fpm 1:7.0+35ubuntu6.1 php-intl 1:7.0+35ubuntu6.1 php-mysql 1:7.0+35ubuntu6.1 php-pear 1:1.10.1+submodules+notgz-6 php-sqlite3 1:7.0+35ubuntu6.1 php-zip 1:7.0+35ubuntu6.1 php7.0-cli 7.0.28-0ubuntu0.16.04.1 php7.0-common 7.0.28-0ubuntu0.16.04.1 php7.0-curl 7.0.28-0ubuntu0.16.04.1 php7.0-dev 7.0.28-0ubuntu0.16.04.1 php7.0-fpm 7.0.28-0ubuntu0.16.04.1 php7.0-gd 7.0.28-0ubuntu0.16.04.1 php7.0-imap 7.0.28-0ubuntu0.16.04.1 php7.0-intl 7.0.28-0ubuntu0.16.04.1 php7.0-json 7.0.28-0ubuntu0.16.04.1 php7.0-mbstring 7.0.28-0ubuntu0.16.04.1 php7.0-mysql 7.0.28-0ubuntu0.16.04.1 php7.0-opcache 7.0.28-0ubuntu0.16.04.1 php7.0-readline 7.0.28-0ubuntu0.16.04.1 php7.0-sqlite3 7.0.28-0ubuntu0.16.04.1 php7.0-xml 7.0.28-0ubuntu0.16.04.1 php7.0-zip 7.0.28-0ubuntu0.16.04.1 pkg-php-tools 1.32ubuntu2 ansible@cri-global-pb-01:~ dpkg -l | grep maria | tr -s ’ ’ | cut -d ’ ’ -f 2-3
mariadb-client 10.0.34-0ubuntu0.16.04.1
mariadb-client-10.0 10.0.34-0ubuntu0.16.04.1
mariadb-client-core-10.0 10.0.34-0ubuntu0.16.04.1
mariadb-common 10.0.34-0ubuntu0.16.04.1
mariadb-server 10.0.34-0ubuntu0.16.04.1
mariadb-server-10.0 10.0.34-0ubuntu0.16.04.1
mariadb-server-core-10.0 10.0.34-0ubuntu0.16.04.1

Here are the contents of the cli log file:

ansible@cri-global-pb-01:/var/www/passbolt$ cat logs/cli-error.log
2018-04-16 21:37:15 Warning: Warning (2): var_dump() expects at least 1 parameter, 0 given in [/var/www/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php, line 39]

2018-04-16 21:38:01 Warning: The connection is going to be closed but there is an active transaction.
2018-04-16 21:38:01 Warning: Warning (2): fwrite(): supplied resource is not a valid stream resource in [/var/www/passbolt/vendor/cakephp/cakephp/src/Console/ConsoleOutput.php, line 253]

2018-04-16 21:39:01 Warning: The connection is going to be closed but there is an active transaction.
2018-04-16 21:39:01 Warning: Warning (2): fwrite(): supplied resource is not a valid stream resource in [/var/www/passbolt/vendor/cakephp/cakephp/src/Console/ConsoleOutput.php, line 253]

If it’s of any interest to you I performed a run modifying the php code to perform a stack trace (truncated to meet foum message size limits) . If you check the top of the stack below you’ll see the SQL statement referencing the EmailQueue.to field that is missing from the database table metadata presented earlier as created by the installer.

ansible@cri-global-pb-01:/var/www/passbolt$ sudo -u www-data bin/cake email_queue.preview
array(11) {
[0]=>
array(7) {
[“file”]=>
string(58) “/var/www/passbolt/vendor/cakephp/cakephp/src/ORM/Query.php”
[“line”]=>
int(1039)
[“function”]=>
string(7) “execute”
[“class”]=>
string(19) “Cake\Database\Query”
[“object”]=>
object(Cake\ORM\Query)#65 (14) {
["(help)"]=>
string(65) “This is a Query object, to get the results execute or iterate it.”
[“sql”]=>
string(796) “SELECT EmailQueue.id AS EmailQueue__id, EmailQueue.to AS EmailQueue__to, EmailQueue.from_name AS EmailQueue__from_name, EmailQueue.from_email AS EmailQueue__from_email, EmailQueue.subject AS EmailQueue__subject, EmailQueue.config AS EmailQueue__config, EmailQueue.template AS EmailQueue__template, EmailQueue.layout AS EmailQueue__layout, EmailQueue.format AS EmailQueue__format, EmailQueue.template_vars AS EmailQueue__template_vars, EmailQueue.headers AS EmailQueue__headers, EmailQueue.sent AS EmailQueue__sent, EmailQueue.locked AS EmailQueue__locked, EmailQueue.send_tries AS EmailQueue__send_tries, EmailQueue.send_at AS EmailQueue__send_at, EmailQueue.created AS EmailQueue__created, EmailQueue.modified AS EmailQueue__modified FROM email_queue EmailQueue”
[“params”]=>
array(0) {
}
[“defaultTypes”]=>
array(51) {
[“EmailQueue__id”]=>
string(6) “string”
[“EmailQueue.id”]=>
string(6) “string”
[“id”]=>
string(6) “string”
[“EmailQueue__to”]=>
string(6) “string”
[“EmailQueue.to”]=>
string(6) “string”
[“to”]=>
string(6) “string”
[“EmailQueue__from_name”]=>
string(6) “string”
[“EmailQueue.from_name”]=>
string(6) “string”
[“from_name”]=>
string(6) “string”
[“EmailQueue__from_email”]=>
string(6) “string”
[“EmailQueue.from_email”]=>
string(6) “string”
[“from_email”]=>
string(6) “string”
[“EmailQueue__subject”]=>
string(6) “string”
[“EmailQueue.subject”]=>
string(6) “string”
[“subject”]=>
string(6) “string”
[“EmailQueue__config”]=>
string(6) “string”
[“EmailQueue.config”]=>
string(6) “string”
[“config”]=>
string(6) “string”
[“EmailQueue__template”]=>
string(6) “string”
[“EmailQueue.template”]=>
string(6) “string”
[“template”]=>
string(6) “string”
[“EmailQueue__layout”]=>
string(6) “string”
[“EmailQueue.layout”]=>
string(6) “string”
[“layout”]=>
string(6) “string”
[“EmailQueue__format”]=>
string(6) “string”
[“EmailQueue.format”]=>
string(6) “string”
[“format”]=>
string(6) “string”
[“EmailQueue__template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue.template_vars”]=>
string(21) “email_queue.serialize”
[“template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue__headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue.headers”]=>
string(21) “email_queue.serialize”
[“headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue__sent”]=>
string(7) “boolean”
[“EmailQueue.sent”]=>
string(7) “boolean”
[“sent”]=>
string(7) “boolean”
[“EmailQueue__locked”]=>
string(7) “boolean”
[“EmailQueue.locked”]=>
string(7) “boolean”
[“locked”]=>
string(7) “boolean”
[“EmailQueue__send_tries”]=>
string(7) “integer”
[“EmailQueue.send_tries”]=>
string(7) “integer”
[“send_tries”]=>
string(7) “integer”
[“EmailQueue__send_at”]=>
string(8) “datetime”
[“EmailQueue.send_at”]=>
string(8) “datetime”
[“send_at”]=>
string(8) “datetime”
[“EmailQueue__created”]=>
string(8) “datetime”
[“EmailQueue.created”]=>
string(8) “datetime”
[“created”]=>
string(8) “datetime”
[“EmailQueue__modified”]=>
string(8) “datetime”
[“EmailQueue.modified”]=>
string(8) “datetime”
[“modified”]=>
string(8) “datetime”
}
[“decorators”]=>
int(0)
[“executed”]=>
bool(false)
[“hydrate”]=>
bool(true)
[“buffered”]=>
bool(true)
[“formatters”]=>
int(0)
[“mapReducers”]=>
int(0)
[“contain”]=>
array(0) {
}
[“matching”]=>
array(0) {
}
[“extraOptions”]=>
array(0) {
}
[“repository”]=>
object(EmailQueue\Model\Table\EmailQueueTable)#60 (8) {
[“registryAlias”]=>
string(10) “EmailQueue”
[“table”]=>
string(11) “email_queue”
[“alias”]=>
string(10) “EmailQueue”
[“entityClass”]=>
string(16) “\Cake\ORM\Entity”
[“associations”]=>
array(0) {
}
[“behaviors”]=>
array(1) {
[0]=>
string(9) “Timestamp”
}
[“defaultConnection”]=>
string(7) “default”
[“connectionName”]=>
string(7) “default”
}
}
[“type”]=>
string(2) “->”
[“args”]=>
array(0) {
}
}
[1]=>
array(7) {
[“file”]=>
string(70) “/var/www/passbolt/vendor/cakephp/cakephp/src/Datasource/QueryTrait.php”
[“line”]=>
int(287)
[“function”]=>
string(8) “_execute”
[“class”]=>
string(14) “Cake\ORM\Query”
[“object”]=>
object(Cake\ORM\Query)#65 (14) {
["(help)"]=>
string(65) “This is a Query object, to get the results execute or iterate it.”
[“sql”]=>
string(796) “SELECT EmailQueue.id AS EmailQueue__id, EmailQueue.to AS EmailQueue__to, EmailQueue.from_name AS EmailQueue__from_name, EmailQueue.from_email AS EmailQueue__from_email, EmailQueue.subject AS EmailQueue__subject, EmailQueue.config AS EmailQueue__config, EmailQueue.template AS EmailQueue__template, EmailQueue.layout AS EmailQueue__layout, EmailQueue.format AS EmailQueue__format, EmailQueue.template_vars AS EmailQueue__template_vars, EmailQueue.headers AS EmailQueue__headers, EmailQueue.sent AS EmailQueue__sent, EmailQueue.locked AS EmailQueue__locked, EmailQueue.send_tries AS EmailQueue__send_tries, EmailQueue.send_at AS EmailQueue__send_at, EmailQueue.created AS EmailQueue__created, EmailQueue.modified AS EmailQueue__modified FROM email_queue EmailQueue”
[“params”]=>
array(0) {
}
[“defaultTypes”]=>
array(51) {
[“EmailQueue__id”]=>
string(6) “string”
[“EmailQueue.id”]=>
string(6) “string”
[“id”]=>
string(6) “string”
[“EmailQueue__to”]=>
string(6) “string”
[“EmailQueue.to”]=>
string(6) “string”
[“to”]=>
string(6) “string”
[“EmailQueue__from_name”]=>
string(6) “string”
[“EmailQueue.from_name”]=>
string(6) “string”
[“from_name”]=>
string(6) “string”
[“EmailQueue__from_email”]=>
string(6) “string”
[“EmailQueue.from_email”]=>
string(6) “string”
[“from_email”]=>
string(6) “string”
[“EmailQueue__subject”]=>
string(6) “string”
[“EmailQueue.subject”]=>
string(6) “string”
[“subject”]=>
string(6) “string”
[“EmailQueue__config”]=>
string(6) “string”
[“EmailQueue.config”]=>
string(6) “string”
[“config”]=>
string(6) “string”
[“EmailQueue__template”]=>
string(6) “string”
[“EmailQueue.template”]=>
string(6) “string”
[“template”]=>
string(6) “string”
[“EmailQueue__layout”]=>
string(6) “string”
[“EmailQueue.layout”]=>
string(6) “string”
[“layout”]=>
string(6) “string”
[“EmailQueue__format”]=>
string(6) “string”
[“EmailQueue.format”]=>
string(6) “string”
[“format”]=>
string(6) “string”
[“EmailQueue__template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue.template_vars”]=>
string(21) “email_queue.serialize”
[“template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue__headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue.headers”]=>
string(21) “email_queue.serialize”
[“headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue__sent”]=>
string(7) “boolean”
[“EmailQueue.sent”]=>
string(7) “boolean”
[“sent”]=>
string(7) “boolean”
[“EmailQueue__locked”]=>
string(7) “boolean”
[“EmailQueue.locked”]=>
string(7) “boolean”
[“locked”]=>
string(7) “boolean”
[“EmailQueue__send_tries”]=>
string(7) “integer”
[“EmailQueue.send_tries”]=>
string(7) “integer”
[“send_tries”]=>
string(7) “integer”
[“EmailQueue__send_at”]=>
string(8) “datetime”
[“EmailQueue.send_at”]=>
string(8) “datetime”
[“send_at”]=>
string(8) “datetime”
[“EmailQueue__created”]=>
string(8) “datetime”
[“EmailQueue.created”]=>
string(8) “datetime”
[“created”]=>
string(8) “datetime”
[“EmailQueue__modified”]=>
string(8) “datetime”
[“EmailQueue.modified”]=>
string(8) “datetime”
[“modified”]=>
string(8) “datetime”
}
[“decorators”]=>
int(0)
[“executed”]=>
bool(false)
[“hydrate”]=>
bool(true)
[“buffered”]=>
bool(true)
[“formatters”]=>
int(0)
[“mapReducers”]=>
int(0)
[“contain”]=>
array(0) {
}
[“matching”]=>
array(0) {
}
[“extraOptions”]=>
array(0) {
}
[“repository”]=>
object(EmailQueue\Model\Table\EmailQueueTable)#60 (8) {
[“registryAlias”]=>
string(10) “EmailQueue”
[“table”]=>
string(11) “email_queue”
[“alias”]=>
string(10) “EmailQueue”
[“entityClass”]=>
string(16) “\Cake\ORM\Entity”
[“associations”]=>
array(0) {
}
[“behaviors”]=>
array(1) {
[0]=>
string(9) “Timestamp”
}
[“defaultConnection”]=>
string(7) “default”
[“connectionName”]=>
string(7) “default”
}
}
[“type”]=>
string(2) “->”
[“args”]=>
array(0) {
}
}
[2]=>
array(7) {
[“file”]=>
string(58) “/var/www/passbolt/vendor/cakephp/cakephp/src/ORM/Query.php”
[“line”]=>
int(987)
[“function”]=>
string(4) “_all”
[“class”]=>
string(14) “Cake\ORM\Query”
[“object”]=>
object(Cake\ORM\Query)#65 (14) {
["(help)"]=>
string(65) “This is a Query object, to get the results execute or iterate it.”
[“sql”]=>
string(796) “SELECT EmailQueue.id AS EmailQueue__id, EmailQueue.to AS EmailQueue__to, EmailQueue.from_name AS EmailQueue__from_name, EmailQueue.from_email AS EmailQueue__from_email, EmailQueue.subject AS EmailQueue__subject, EmailQueue.config AS EmailQueue__config, EmailQueue.template AS EmailQueue__template, EmailQueue.layout AS EmailQueue__layout, EmailQueue.format AS EmailQueue__format, EmailQueue.template_vars AS EmailQueue__template_vars, EmailQueue.headers AS EmailQueue__headers, EmailQueue.sent AS EmailQueue__sent, EmailQueue.locked AS EmailQueue__locked, EmailQueue.send_tries AS EmailQueue__send_tries, EmailQueue.send_at AS EmailQueue__send_at, EmailQueue.created AS EmailQueue__created, EmailQueue.modified AS EmailQueue__modified FROM email_queue EmailQueue”
[“params”]=>
array(0) {
}
[“defaultTypes”]=>
array(51) {
[“EmailQueue__id”]=>
string(6) “string”
[“EmailQueue.id”]=>
string(6) “string”
[“id”]=>
string(6) “string”
[“EmailQueue__to”]=>
string(6) “string”
[“EmailQueue.to”]=>
string(6) “string”
[“to”]=>
string(6) “string”
[“EmailQueue__from_name”]=>
string(6) “string”
[“EmailQueue.from_name”]=>
string(6) “string”
[“from_name”]=>
string(6) “string”
[“EmailQueue__from_email”]=>
string(6) “string”
[“EmailQueue.from_email”]=>
string(6) “string”
[“from_email”]=>
string(6) “string”
[“EmailQueue__subject”]=>
string(6) “string”
[“EmailQueue.subject”]=>
string(6) “string”
[“subject”]=>
string(6) “string”
[“EmailQueue__config”]=>
string(6) “string”
[“EmailQueue.config”]=>
string(6) “string”
[“config”]=>
string(6) “string”
[“EmailQueue__template”]=>
string(6) “string”
[“EmailQueue.template”]=>
string(6) “string”
[“template”]=>
string(6) “string”
[“EmailQueue__layout”]=>
string(6) “string”
[“EmailQueue.layout”]=>
string(6) “string”
[“layout”]=>
string(6) “string”
[“EmailQueue__format”]=>
string(6) “string”
[“EmailQueue.format”]=>
string(6) “string”
[“format”]=>
string(6) “string”
[“EmailQueue__template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue.template_vars”]=>
string(21) “email_queue.serialize”
[“template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue__headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue.headers”]=>
string(21) “email_queue.serialize”
[“headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue__sent”]=>
string(7) “boolean”
[“EmailQueue.sent”]=>
string(7) “boolean”
[“sent”]=>
string(7) “boolean”
[“EmailQueue__locked”]=>
string(7) “boolean”
[“EmailQueue.locked”]=>
string(7) “boolean”
[“locked”]=>
string(7) “boolean”
[“EmailQueue__send_tries”]=>
string(7) “integer”
[“EmailQueue.send_tries”]=>
string(7) “integer”
[“send_tries”]=>
string(7) “integer”
[“EmailQueue__send_at”]=>
string(8) “datetime”
[“EmailQueue.send_at”]=>
string(8) “datetime”
[“send_at”]=>
string(8) “datetime”
[“EmailQueue__created”]=>
string(8) “datetime”
[“EmailQueue.created”]=>
string(8) “datetime”
[“created”]=>
string(8) “datetime”
[“EmailQueue__modified”]=>
string(8) “datetime”
[“EmailQueue.modified”]=>
string(8) “datetime”
[“modified”]=>
string(8) “datetime”
}
[“decorators”]=>
int(0)
[“executed”]=>
bool(false)
[“hydrate”]=>
bool(true)
[“buffered”]=>
bool(true)
[“formatters”]=>
int(0)
[“mapReducers”]=>
int(0)
[“contain”]=>
array(0) {
}
[“matching”]=>
array(0) {
}
[“extraOptions”]=>
array(0) {
}
[“repository”]=>
object(EmailQueue\Model\Table\EmailQueueTable)#60 (8) {
[“registryAlias”]=>
string(10) “EmailQueue”
[“table”]=>
string(11) “email_queue”
[“alias”]=>
string(10) “EmailQueue”
[“entityClass”]=>
string(16) “\Cake\ORM\Entity”
[“associations”]=>
array(0) {
}
[“behaviors”]=>
array(1) {
[0]=>
string(9) “Timestamp”
}
[“defaultConnection”]=>
string(7) “default”
[“connectionName”]=>
string(7) “default”
}
}
[“type”]=>
string(2) “->”
[“args”]=>
array(0) {
}
}
[3]=>
array(7) {
[“file”]=>
string(70) “/var/www/passbolt/vendor/cakephp/cakephp/src/Datasource/QueryTrait.php”
[“line”]=>
int(469)
[“function”]=>
string(3) “all”
[“class”]=>
string(14) “Cake\ORM\Query”
[“object”]=>
object(Cake\ORM\Query)#65 (14) {
["(help)"]=>
string(65) “This is a Query object, to get the results execute or iterate it.”
[“sql”]=>
string(796) “SELECT EmailQueue.id AS EmailQueue__id, EmailQueue.to AS EmailQueue__to, EmailQueue.from_name AS EmailQueue__from_name, EmailQueue.from_email AS EmailQueue__from_email, EmailQueue.subject AS EmailQueue__subject, EmailQueue.config AS EmailQueue__config, EmailQueue.template AS EmailQueue__template, EmailQueue.layout AS EmailQueue__layout, EmailQueue.format AS EmailQueue__format, EmailQueue.template_vars AS EmailQueue__template_vars, EmailQueue.headers AS EmailQueue__headers, EmailQueue.sent AS EmailQueue__sent, EmailQueue.locked AS EmailQueue__locked, EmailQueue.send_tries AS EmailQueue__send_tries, EmailQueue.send_at AS EmailQueue__send_at, EmailQueue.created AS EmailQueue__created, EmailQueue.modified AS EmailQueue__modified FROM email_queue EmailQueue”
[“params”]=>
array(0) {
}
[“defaultTypes”]=>
array(51) {
[“EmailQueue__id”]=>
string(6) “string”
[“EmailQueue.id”]=>
string(6) “string”
[“id”]=>
string(6) “string”
[“EmailQueue__to”]=>
string(6) “string”
[“EmailQueue.to”]=>
string(6) “string”
[“to”]=>
string(6) “string”
[“EmailQueue__from_name”]=>
string(6) “string”
[“EmailQueue.from_name”]=>
string(6) “string”
[“from_name”]=>
string(6) “string”
[“EmailQueue__from_email”]=>
string(6) “string”
[“EmailQueue.from_email”]=>
string(6) “string”
[“from_email”]=>
string(6) “string”
[“EmailQueue__subject”]=>
string(6) “string”
[“EmailQueue.subject”]=>
string(6) “string”
[“subject”]=>
string(6) “string”
[“EmailQueue__config”]=>
string(6) “string”
[“EmailQueue.config”]=>
string(6) “string”
[“config”]=>
string(6) “string”
[“EmailQueue__template”]=>
string(6) “string”
[“EmailQueue.template”]=>
string(6) “string”
[“template”]=>
string(6) “string”
[“EmailQueue__layout”]=>
string(6) “string”
[“EmailQueue.layout”]=>
string(6) “string”
[“layout”]=>
string(6) “string”
[“EmailQueue__format”]=>
string(6) “string”
[“EmailQueue.format”]=>
string(6) “string”
[“format”]=>
string(6) “string”
[“EmailQueue__template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue.template_vars”]=>
string(21) “email_queue.serialize”
[“template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue__headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue.headers”]=>
string(21) “email_queue.serialize”
[“headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue__sent”]=>
string(7) “boolean”
[“EmailQueue.sent”]=>
string(7) “boolean”
[“sent”]=>
string(7) “boolean”
[“EmailQueue__locked”]=>
string(7) “boolean”
[“EmailQueue.locked”]=>
string(7) “boolean”
[“locked”]=>
string(7) “boolean”
[“EmailQueue__send_tries”]=>
string(7) “integer”
[“EmailQueue.send_tries”]=>
string(7) “integer”
[“send_tries”]=>
string(7) “integer”
[“EmailQueue__send_at”]=>
string(8) “datetime”
[“EmailQueue.send_at”]=>
string(8) “datetime”
[“send_at”]=>
string(8) “datetime”
[“EmailQueue__created”]=>
string(8) “datetime”
[“EmailQueue.created”]=>
string(8) “datetime”
[“created”]=>
string(8) “datetime”
[“EmailQueue__modified”]=>
string(8) “datetime”
[“EmailQueue.modified”]=>
string(8) “datetime”
[“modified”]=>
string(8) “datetime”
}
[“decorators”]=>
int(0)
[“executed”]=>
bool(false)
[“hydrate”]=>
bool(true)
[“buffered”]=>
bool(true)
[“formatters”]=>
int(0)
[“mapReducers”]=>
int(0)
[“contain”]=>
array(0) {
}
[“matching”]=>
array(0) {
}
[“extraOptions”]=>
array(0) {
}
[“repository”]=>
object(EmailQueue\Model\Table\EmailQueueTable)#60 (8) {
[“registryAlias”]=>
string(10) “EmailQueue”
[“table”]=>
string(11) “email_queue”
[“alias”]=>
string(10) “EmailQueue”
[“entityClass”]=>
string(16) “\Cake\ORM\Entity”
[“associations”]=>
array(0) {
}
[“behaviors”]=>
array(1) {
[0]=>
string(9) “Timestamp”
}
[“defaultConnection”]=>
string(7) “default”
[“connectionName”]=>
string(7) “default”
}
}
[“type”]=>
string(2) “->”
[“args”]=>
array(0) {
}
}
[4]=>
array(7) {
[“file”]=>
string(58) “/var/www/passbolt/vendor/cakephp/cakephp/src/ORM/Query.php”
[“line”]=>
int(1202)
[“function”]=>
string(5) “_call”
[“class”]=>
string(14) “Cake\ORM\Query”
[“object”]=>
object(Cake\ORM\Query)#65 (14) {
["(help)"]=>
string(65) “This is a Query object, to get the results execute or iterate it.”
[“sql”]=>
string(796) “SELECT EmailQueue.id AS EmailQueue__id, EmailQueue.to AS EmailQueue__to, EmailQueue.from_name AS EmailQueue__from_name, EmailQueue.from_email AS EmailQueue__from_email, EmailQueue.subject AS EmailQueue__subject, EmailQueue.config AS EmailQueue__config, EmailQueue.template AS EmailQueue__template, EmailQueue.layout AS EmailQueue__layout, EmailQueue.format AS EmailQueue__format, EmailQueue.template_vars AS EmailQueue__template_vars, EmailQueue.headers AS EmailQueue__headers, EmailQueue.sent AS EmailQueue__sent, EmailQueue.locked AS EmailQueue__locked, EmailQueue.send_tries AS EmailQueue__send_tries, EmailQueue.send_at AS EmailQueue__send_at, EmailQueue.created AS EmailQueue__created, EmailQueue.modified AS EmailQueue__modified FROM email_queue EmailQueue”
[“params”]=>
array(0) {
}
[“defaultTypes”]=>
array(51) {
[“EmailQueue__id”]=>
string(6) “string”
[“EmailQueue.id”]=>
string(6) “string”
[“id”]=>
string(6) “string”
[“EmailQueue__to”]=>
string(6) “string”
[“EmailQueue.to”]=>
string(6) “string”
[“to”]=>
string(6) “string”
[“EmailQueue__from_name”]=>
string(6) “string”
[“EmailQueue.from_name”]=>
string(6) “string”
[“from_name”]=>
string(6) “string”
[“EmailQueue__from_email”]=>
string(6) “string”
[“EmailQueue.from_email”]=>
string(6) “string”
[“from_email”]=>
string(6) “string”
[“EmailQueue__subject”]=>
string(6) “string”
[“EmailQueue.subject”]=>
string(6) “string”
[“subject”]=>
string(6) “string”
[“EmailQueue__config”]=>
string(6) “string”
[“EmailQueue.config”]=>
string(6) “string”
[“config”]=>
string(6) “string”
[“EmailQueue__template”]=>
string(6) “string”
[“EmailQueue.template”]=>
string(6) “string”
[“template”]=>
string(6) “string”
[“EmailQueue__layout”]=>
string(6) “string”
[“EmailQueue.layout”]=>
string(6) “string”
[“layout”]=>
string(6) “string”
[“EmailQueue__format”]=>
string(6) “string”
[“EmailQueue.format”]=>
string(6) “string”
[“format”]=>
string(6) “string”
[“EmailQueue__template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue.template_vars”]=>
string(21) “email_queue.serialize”
[“template_vars”]=>
string(21) “email_queue.serialize”
[“EmailQueue__headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue.headers”]=>
string(21) “email_queue.serialize”
[“headers”]=>
string(21) “email_queue.serialize”
[“EmailQueue__sent”]=>
string(7) “boolean”
[“EmailQueue.sent”]=>
string(7) “boolean”
[“sent”]=>
string(7) “boolean”
[“EmailQueue__locked”]=>
string(7) “boolean”
[“EmailQueue.locked”]=>
string(7) “boolean”
[“locked”]=>
string(7) “boolean”
[“EmailQueue__send_tries”]=>
string(7) “integer”
[“EmailQueue.send_tries”]=>
string(7) “integer”
[“send_tries”]=>
string(7) “integer”
[“EmailQueue__send_at”]=>
string(8) “datetime”
[“EmailQueue.send_at”]=>
string(8) “datetime”
[“send_at”]=>
string(8) “datetime”
[“EmailQueue__created”]=>
string(8) “datetime”
[“EmailQueue.created”]=>
string(8) “datetime”
[“created”]=>
string(8) “datetime”
[“EmailQueue__modified”]=>
string(8) “datetime”
[“EmailQueue.modified”]=>
string(8) “datetime”
[“modified”]=>
string(8) “datetime”
}
[“decorators”]=>
int(0)
[“executed”]=>
bool(false)
[“hydrate”]=>
bool(true)
[“buffered”]=>
bool(true)
[“formatters”]=>
int(0)
[“mapReducers”]=>
int(0)
[“contain”]=>
array(0) {
}
[“matching”]=>
array(0) {
}
[“extraOptions”]=>
array(0) {
}
[“repository”]=>
object(EmailQueue\Model\Table\EmailQueueTable)#60 (8) {
[“registryAlias”]=>
string(10) “EmailQueue”
[“table”]=>
string(11) “email_queue”
[“alias”]=>
string(10) “EmailQueue”
[“entityClass”]=>
string(16) “\Cake\ORM\Entity”
[“associations”]=>
array(0) {
}
[“behaviors”]=>
array(1) {
[0]=>
string(9) “Timestamp”
}
[“defaultConnection”]=>
string(7) “default”
[“connectionName”]=>
string(7) “default”
}
}
[“type”]=>
string(2) “->”
[“args”]=>
array(2) {
[0]=>
string(6) “toList”
[1]=>
array(0) {
}
}
}
[5]=>
array(7) {
[“file”]=>
string(79) “/var/www/passbolt/vendor/lorenzo/cakephp-email-queue/src/Shell/PreviewShell.php”
[“line”]=>
int(23)
[“function”]=>
string(6) “__call”
[“class”]=>
string(14) “Cake\ORM\Query”
[“object”]=>
object(Cake\ORM\Query)#65 (14) {
["(help)"]=>
string(65) “This is a Query object, to get the results execute or iterate it.”
[“sql”]=>
string(796) “SELECT EmailQueue.id AS EmailQueue__id, EmailQueue.to AS EmailQueue__to, EmailQueue.from_name AS EmailQueue__from_name, EmailQueue.from_email AS EmailQueue__from_email, EmailQueue.subject AS EmailQueue__subject, EmailQueue.config AS EmailQueue__config, EmailQueue.template AS EmailQueue__template, EmailQueue.layout AS EmailQueue__layout, EmailQueue.format AS EmailQueue__format, EmailQueue.template_vars AS EmailQueue__template_vars, EmailQueue.headers AS EmailQueue__headers, EmailQueue.sent AS EmailQueue__sent, EmailQueue.locked AS EmailQueue__locked, EmailQueue.send_tries AS EmailQueue__send_tries, EmailQueue.send_at AS EmailQueue__send_at, EmailQueue.created AS EmailQueue__created, EmailQueue.modified AS EmailQueue__modified FROM email_queue EmailQueue”

Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘EmailQueue.to’ in ‘field list’ in [/var/www/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php, line 39]

I’m not sure what is going on there. The “to” collumn was part of the old EmailQueue plugin (e.g. passbolt v1). This collumn is now replaced by the “email” collumn. What is strange is that you have the right schema in database but the application is still trying to use the old schema.

Did you install from scratch or did you update from v1?
You could try:

  • clear your composer cache
  • clear cakephp cache
  • delete the content of /vendor
  • run composer install again

Thank you very much.

The provided instructions did manage to clear up the issue with the original install which was performed using v2.0.1 (no upgrade from v1)

I’ve performed another automated install pulling v2.0.2 and the issue does not appear at all.

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.