mirror of
https://github.com/slawkens/myaac.git
synced 2025-11-27 21:56:50 +01:00
Feature migrations up/down (#270)
* Migrations up down * Add forum model * Syntactic sugar for db structure changes * Refactor migrations with $up & $down * Fix migrations upgrade and downgrade + Add option to disable auto migrate * Add migrate:to command Usage: php aac migrate:to x (x - database version) * Show error when mail is not enabled * Fixes regarding to init.php * Add migrate command to manually upgrade db, incase auto migrate is disabled * Fixed rest of the migrations * Limit max version of database * Don't allow minus number * Option to clear specified plugin settings by name * Version is required * Fix PHPStan errors * Unset $up after migration, to prevent executing same migration twice * Add database version to output * This is not needed * Update 5.php * Set database_auto_migrate on install * Set blank & color only if current db version supports it * Fix duplicate function declaration
This commit is contained in:
@@ -1,17 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* @var OTS_DB_MySQL $db
|
||||
*/
|
||||
|
||||
if($db->hasColumn(TABLE_PREFIX . 'spells', 'spell')) {
|
||||
$db->exec('ALTER TABLE `' . TABLE_PREFIX . "spells` MODIFY `spell` VARCHAR(255) NOT NULL DEFAULT '';");
|
||||
}
|
||||
$up = function () use ($db) {
|
||||
if ($db->hasColumn(TABLE_PREFIX . 'spells', 'spell')) {
|
||||
$db->modifyColumn(TABLE_PREFIX . 'spells', 'spell', "VARCHAR(255) NOT NULL DEFAULT ''");
|
||||
}
|
||||
|
||||
if($db->hasColumn(TABLE_PREFIX . 'spells', 'words')) {
|
||||
$db->exec('ALTER TABLE `' . TABLE_PREFIX . "spells` MODIFY `words` VARCHAR(255) NOT NULL DEFAULT '';");
|
||||
}
|
||||
if ($db->hasColumn(TABLE_PREFIX . 'spells', 'words')) {
|
||||
$db->modifyColumn(TABLE_PREFIX . 'spells', 'words', "VARCHAR(255) NOT NULL DEFAULT ''");
|
||||
}
|
||||
|
||||
if(!$db->hasColumn(TABLE_PREFIX . 'spells', 'conjure_id')) {
|
||||
$db->exec('ALTER TABLE `' . TABLE_PREFIX . 'spells` ADD `conjure_id` INT(11) NOT NULL DEFAULT 0 AFTER `soul`;');
|
||||
}
|
||||
if (!$db->hasColumn(TABLE_PREFIX . 'spells', 'conjure_id')) {
|
||||
$db->addColumn(TABLE_PREFIX . 'spells', 'conjure_id', 'INT(11) NOT NULL DEFAULT 0 AFTER `soul`');
|
||||
}
|
||||
|
||||
if(!$db->hasColumn(TABLE_PREFIX . 'spells', 'reagent')) {
|
||||
$db->exec('ALTER TABLE `' . TABLE_PREFIX . 'spells` ADD `reagent` INT(11) NOT NULL DEFAULT 0 AFTER `conjure_count`;');
|
||||
}
|
||||
if (!$db->hasColumn(TABLE_PREFIX . 'spells', 'reagent')) {
|
||||
$db->addColumn(TABLE_PREFIX . 'spells', 'reagent', 'INT(11) NOT NULL DEFAULT 0 AFTER `conjure_count`');
|
||||
}
|
||||
};
|
||||
|
||||
$down = function () use ($db) {
|
||||
if ($db->hasColumn(TABLE_PREFIX . 'spells', 'conjure_id')) {
|
||||
$db->dropColumn(TABLE_PREFIX . 'spells', 'conjure_id');
|
||||
}
|
||||
|
||||
if ($db->hasColumn(TABLE_PREFIX . 'spells', 'reagent')) {
|
||||
$db->dropColumn(TABLE_PREFIX . 'spells', 'reagent');
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user