Repository navigation
DB issue when using mailpoet聽#422
Description
hi guys/gals/thembies/furries,
please excuse my ignorance, but I've been running sqlite dbs on my sites for a while now and it's been fantastic. Measurable performance improvements and overall top marks 馃槃
however, recently I encountered an issue with mailpoet (mailer sending plugin) which seems to throw a sqlite error.
Initially I reported it to mailpoet staff who have taken note but pointed out this might be worth reporting here too, so here I am.
I'm not expecting anything, just reporting this in the hope that it's useful information to someone.
As of version 5.28 of mailpoet i have been seeing the following error at the top of the admin dashboard (below).
Hopefully it makes more sense to y'all than it does me.
Thank you for your work so far. The SQLite integration has been awesome and hopefully this helps in improving compatibility.
best wishes,
Plus8
Migration "MailPoet\Migrations\Db\Migration_20260504_120000_Db" failed. Details: An exception occurred while executing a query:
MySQL query:
SELECT COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'wp_mailpoet_subscribers'
AND COLUMN_NAME = 'source'
Queries made or created this session were:
Executing: BEGIN | (no parameters)
Executing: SELECT COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = :param0
AND COLUMN_NAME = :param1 | parameters: wp_mailpoet_subscribers, source
Executing: ROLLBACK | (no parameters)
Error occurred at line 4229 in Function handle_error. Error message was: SQLSTATE[HY000]: General error: 1 no such table: INFORMATION_SCHEMA.COLUMNS.
Backtrace:
#0 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(549): WP_SQLite_Translator->get_error_message()
#1 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(455): WP_SQLite_DB->_do_query()
#2 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Connection.php(115): WP_SQLite_DB->query()
#3 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Connection.php(35): MailPoet\Doctrine\WPDB\Connection->runQuery()
#4 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Statement.php(71): MailPoet\Doctrine\WPDB\Connection->query()
#5 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Connection.php(418): MailPoet\Doctrine\WPDB\Statement->execute()
#6 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Connection.php(257): MailPoetVendor\Doctrine\DBAL\Connection->executeQuery()
#7 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrations/Db/Migration_20260504_120000_Db.php(21): MailPoetVendor\Doctrine\DBAL\Connection->fetchOne()
#8 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrator/Runner.php(35): MailPoet\Migrations\Db\Migration_20260504_120000_Db->run()
#9 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrator/Migrator.php(53): MailPoet\Migrator\Runner->runMigration()
#10 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Activator.php(85): MailPoet\Migrator\Migrator->run()
#11 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Activator.php(67): MailPoet\Config\Activator->processActivate()
#12 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Initializer.php(493): MailPoet\Config\Activator->activate()
#13 /var/www/plus8/wp-includes/class-wp-hook.php(341): MailPoet\Config\Initializer->maybeRunActivator()
#14 /var/www/plus8/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#15 /var/www/plus8/wp-includes/plugin.php(522): WP_Hook->do_action()
#16 /var/www/plus8/wp-settings.php(771): do_action()
#17 /var/www/plus8/wp-config.php(103): require_once('...')
#18 /var/www/plus8/wp-load.php(50): require_once('...')
#19 /var/www/plus8/wp-admin/admin.php(35): require_once('...')
#20 /var/www/plus8/wp-admin/index.php(10): require_once('...')
#21 {main}
Activity
JanJakes commentedon Jul 7, 2026
Hi @plus8, thanks for reporting this! Could you, please, try it with the latest 3.0 RC version? You'd need to download the plugin from the release assets. For RC 7, that's https://github.com/WordPress/sqlite-database-integration/releases/download/v3.0.0-rc.7/plugin-sqlite-database-integration.zip.
plus8 commentedon Jul 8, 2026
hi, thanks for the update. I've downloaded the V3-RC7 but it still dies. Please see the error output below (looks to be an issue with date/time formats now rather than missing table):
FWIW - I tested it on two sites and got the same result.
Thank you!
best wishes,
Plus8
Migration "MailPoet\Migrations\Db\Migration_20260504_120000_Db" failed. Details: An exception occurred while executing a query:
MySQL query:
ALTER TABLE
wp_mailpoet_subscribersMODIFY
sourceenum('form',
'imported',
'administrator',
'api',
'wordpress_user',
'wordpress_user_deleted',
'woocommerce_user',
'woocommerce_checkout',
'unknown'
) DEFAULT 'unknown'
Queries made or created this session were:
SQLSTATE[HY000]: General error: 1 table "_wp_sqlite_tmp_wp_mailpoet_subscribers_6a4e6a51ef8e6" has more than one primary key
Backtrace:
#0 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/database/sqlite/class-wp-pdo-mysql-on-sqlite.php(982): WP_PDO_MySQL_On_SQLite->new_driver_exception()
#1 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/database/sqlite/class-wp-sqlite-driver.php(161): WP_PDO_MySQL_On_SQLite->query()
#2 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(503): WP_SQLite_Driver->query()
#3 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(423): WP_SQLite_DB->_do_query()
#4 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Connection.php(115): WP_SQLite_DB->query()
#5 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Connection.php(35): MailPoet\Doctrine\WPDB\Connection->runQuery()
#6 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Connection.php(420): MailPoet\Doctrine\WPDB\Connection->query()
#7 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrations/Db/Migration_20260504_120000_Db.php(29): MailPoetVendor\Doctrine\DBAL\Connection->executeQuery()
#8 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrator/Runner.php(35): MailPoet\Migrations\Db\Migration_20260504_120000_Db->run()
#9 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrator/Migrator.php(53): MailPoet\Migrator\Runner->runMigration()
#10 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Activator.php(85): MailPoet\Migrator\Migrator->run()
#11 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Activator.php(67): MailPoet\Config\Activator->processActivate()
#12 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Initializer.php(514): MailPoet\Config\Activator->activate()
#13 /var/www/plus8/wp-includes/class-wp-hook.php(341): MailPoet\Config\Initializer->maybeRunActivator()
#14 /var/www/plus8/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#15 /var/www/plus8/wp-includes/plugin.php(522): WP_Hook->do_action()
#16 /var/www/plus8/wp-settings.php(771): do_action()
#17 /var/www/plus8/wp-config.php(103): require_once('...')
#18 /var/www/plus8/wp-load.php(50): require_once('...')
#19 /var/www/plus8/wp-admin/admin.php(35): require_once('...')
#20 {main}
MailPoet Error: MailPoetVendor\Doctrine\DBAL\Types\ConversionException: Could not convert database value "2026" to Doctrine Type datetimetz. Expected format: Y-m-d H:i:s in /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Types/ConversionException.php:27
Stack trace:
#0 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Types/DateTimeTzType.php(45): MailPoetVendor\Doctrine\DBAL\Types\ConversionException::conversionFailedFormat()
#1 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php(95): MailPoetVendor\Doctrine\DBAL\Types\DateTimeTzType->convertToPHPValue()
#2 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php(44): MailPoetVendor\Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateRowData()
#3 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Internal/Hydration/AbstractHydrator.php(128): MailPoetVendor\Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateAllData()
#4 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(546): MailPoetVendor\Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll()
#5 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/EntityRepository.php(79): MailPoetVendor\Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadAll()
#6 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/EntityRepository.php(74): MailPoetVendor\Doctrine\ORM\EntityRepository->findBy()
#7 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/Repository.php(86): MailPoetVendor\Doctrine\ORM\EntityRepository->findAll()
#8 /var/www/plus8/wp-content/plugins/mailpoet/lib/Settings/SettingsController.php(239): MailPoet\Doctrine\Repository->findAll()
#9 /var/www/plus8/wp-content/plugins/mailpoet/lib/Settings/SettingsController.php(43): MailPoet\Settings\SettingsController->ensureLoaded()
#10 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Initializer.php(654): MailPoet\Settings\SettingsController->get()
#11 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Initializer.php(410): MailPoet\Config\Initializer->setupWoocommerceTransactionalEmails()
#12 /var/www/plus8/wp-includes/class-wp-hook.php(341): MailPoet\Config\Initializer->preInitialize()
#13 /var/www/plus8/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#14 /var/www/plus8/wp-includes/plugin.php(522): WP_Hook->do_action()
#15 /var/www/plus8/wp-settings.php(771): do_action()
#16 /var/www/plus8/wp-config.php(103): require_once('...')
#17 /var/www/plus8/wp-load.php(50): require_once('...')
#18 /var/www/plus8/wp-admin/admin.php(35): require_once('...')
#19 {main}
MailPoet Error: MailPoetVendor\Doctrine\DBAL\Types\ConversionException: Could not convert database value "2026" to Doctrine Type datetimetz. Expected format: Y-m-d H:i:s in /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Types/ConversionException.php:27
Stack trace:
#0 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Types/DateTimeTzType.php(45): MailPoetVendor\Doctrine\DBAL\Types\ConversionException::conversionFailedFormat()
#1 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php(95): MailPoetVendor\Doctrine\DBAL\Types\DateTimeTzType->convertToPHPValue()
#2 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php(44): MailPoetVendor\Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateRowData()
#3 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Internal/Hydration/AbstractHydrator.php(128): MailPoetVendor\Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateAllData()
#4 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(546): MailPoetVendor\Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll()
#5 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/EntityRepository.php(79): MailPoetVendor\Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadAll()
#6 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/orm/src/EntityRepository.php(74): MailPoetVendor\Doctrine\ORM\EntityRepository->findBy()
#7 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/Repository.php(86): MailPoetVendor\Doctrine\ORM\EntityRepository->findAll()
#8 /var/www/plus8/wp-content/plugins/mailpoet/lib/Settings/SettingsController.php(239): MailPoet\Doctrine\Repository->findAll()
#9 /var/www/plus8/wp-content/plugins/mailpoet/lib/Settings/SettingsController.php(43): MailPoet\Settings\SettingsController->ensureLoaded()
#10 /var/www/plus8/wp-content/plugins/mailpoet/lib/Services/Bridge.php(101): MailPoet\Settings\SettingsController->get()
#11 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/ServicesChecker.php(84): MailPoet\Services\Bridge::isPremiumKeySpecified()
#12 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Menu.php(845): MailPoet\Config\ServicesChecker->isPremiumKeyValid()
#13 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Menu.php(128): MailPoet\Config\Menu->checkPremiumKey()
#14 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Initializer.php(431): MailPoet\Config\Menu->init()
#15 /var/www/plus8/wp-includes/class-wp-hook.php(341): MailPoet\Config\Initializer->initialize()
#16 /var/www/plus8/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#17 /var/www/plus8/wp-includes/plugin.php(522): WP_Hook->do_action()
#18 /var/www/plus8/wp-settings.php(771): do_action()
#19 /var/www/plus8/wp-config.php(103): require_once('...')
#20 /var/www/plus8/wp-load.php(50): require_once('...')
#21 /var/www/plus8/wp-admin/admin.php(35): require_once('...')
#22 {main}
Fix schema reconstruction with native numeric results
Fix schema reconstruction with native numeric results
Fix schema reconstruction with native numeric results
Fix schema reconstruction with native numeric results (#506)