Refactor migrations with $up & $down

This commit is contained in:
slawkens
2024-11-08 07:04:24 +01:00
parent c7cb00f8da
commit 8aff9f36fb
49 changed files with 842 additions and 370 deletions

View File

@@ -1,36 +1,41 @@
<?php
/**
* @var OTS_DB_MySQL $db
*/
// 2024-01-27
// change hidden to hide (Eloquent model reserved keyword)
$up = function () use ($db) {
$definition = 'TINYINT(1) NOT NULL DEFAULT 0';
$up = function () use ($db, $definition) {
if (!$db->hasColumn('players', 'hide')) {
$db->exec("ALTER TABLE `players` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->changeColumn('players', 'hidden', 'hide', $definition);
}
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "changelog` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "faq` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "forum_boards` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "monsters` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "news` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "news_categories` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "pages` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "gallery` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "spells` CHANGE `hidden` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->changeColumn(TABLE_PREFIX . 'changelog', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'faq', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'forum_boards', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'monsters', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'news', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'news_categories', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'pages', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'gallery', 'hidden', 'hide', $definition);
$db->changeColumn(TABLE_PREFIX . 'spells', 'hidden', 'hide', $definition);
};
$down = function () use ($db) {
if (!$db->hasColumn('players', 'hide')) {
$db->exec("ALTER TABLE `players` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$down = function () use ($db, $definition) {
if (!$db->hasColumn('players', 'hidden')) {
$db->changeColumn('players', 'hide', 'hidden', $definition);
}
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "changelog` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "faq` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "forum_boards` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "monsters` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "news` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "news_categories` CHANGE `hide` `hide` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "pages` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "gallery` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->exec("ALTER TABLE `" . TABLE_PREFIX . "spells` CHANGE `hide` `hidden` TINYINT(1) NOT NULL DEFAULT 0;");
$db->changeColumn(TABLE_PREFIX . 'changelog', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'faq', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'forum_boards', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'monsters', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'news', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'news_categories', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'pages', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'gallery', 'hide', 'hidden', $definition);
$db->changeColumn(TABLE_PREFIX . 'spells', 'hide', 'hidden', $definition);
};