WordPress / WordPress/sqlite-database-integration
DB issue when using mailpoet
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 363
- Forks
- 67
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 7
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}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with wp-includes/sqlite/class-wp-sqlite-db.php and the MailPoet migration shown in the backtrace, lib/Migrations/Db/Migration_20260504_120000_Db.php. Trace how the INFORMATION_SCHEMA.COLUMNS query is handled by the SQLite integration and use the reported migration failure as the reproduction case. Done means the MailPoet migration no longer fails with a missing INFORMATION_SCHEMA.COLUMNS table.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, sqlite
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100