Check for column existence in migration

Allow migrations from bare installations
This commit is contained in:
Matt Bannon 2023-11-16 22:31:02 +11:00
parent ca7e908af1
commit f7b0116247
No known key found for this signature in database
GPG Key ID: 187033B38F7D0527
2 changed files with 8 additions and 3 deletions

View File

@ -1,6 +1,6 @@
<?php
/** @var \SQLite3 $db */
require_once 'includes/connect_endpoint_crontabs.php';
require_once 'includes/connect.php';
$completedMigrations = [];

View File

@ -3,5 +3,10 @@
// It allows the user to disable payment methods without deleting them.
/** @noinspection PhpUndefinedVariableInspection */
$db->exec('ALTER TABLE payment_methods ADD COLUMN enabled BOOLEAN DEFAULT 1');
$db->exec('UPDATE payment_methods SET enabled = 1');
$columnQuery = $db->query("SELECT * FROM pragma_table_info('payment_methods') where name='enabled'");
$columnRequired = $columnQuery->fetchArray(SQLITE3_ASSOC) === false;
if ($columnRequired) {
$db->exec('ALTER TABLE payment_methods ADD COLUMN enabled BOOLEAN DEFAULT 1');
$db->exec('UPDATE payment_methods SET enabled = 1');
}