mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-27 01:39:22 +02:00

* 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
45 lines
1.6 KiB
PHP
45 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* @var OTS_DB_MySQL $db
|
|
*/
|
|
|
|
$up = function () use ($db) {
|
|
// rename database tables
|
|
$db->renameTable(TABLE_PREFIX . 'screenshots', TABLE_PREFIX . 'gallery');
|
|
$db->renameTable(TABLE_PREFIX . 'movies', TABLE_PREFIX . 'videos');
|
|
|
|
// rename images dir
|
|
if (file_exists(BASE . 'images/screenshots') && !file_exists(BASE . GALLERY_DIR)) {
|
|
rename(BASE . 'images/screenshots', BASE . GALLERY_DIR);
|
|
}
|
|
|
|
// convert old database screenshots images to gallery
|
|
$query = $db->query('SELECT `id`, `image`, `thumb` FROM `' . TABLE_PREFIX . 'gallery`;');
|
|
foreach ($query->fetchAll() as $item) {
|
|
$db->update(TABLE_PREFIX . 'gallery', array(
|
|
'image' => str_replace('/screenshots/', '/gallery/', $item['image']),
|
|
'thumb' => str_replace('/screenshots/', '/gallery/', $item['thumb']),
|
|
), array('id' => $item['id']));
|
|
}
|
|
};
|
|
|
|
$down = function () use ($db) {
|
|
// rename database tables
|
|
$db->renameTable(TABLE_PREFIX . 'gallery', TABLE_PREFIX . 'screenshots');
|
|
$db->renameTable(TABLE_PREFIX . 'videos', TABLE_PREFIX . 'movies');
|
|
|
|
// rename images dir
|
|
if (file_exists(BASE . GALLERY_DIR) && !file_exists(BASE . 'images/screenshots')) {
|
|
rename(BASE . GALLERY_DIR, BASE . 'images/screenshots');
|
|
}
|
|
|
|
// convert new database gallery images to screenshots
|
|
$query = $db->query('SELECT `id`, `image`, `thumb` FROM `' . TABLE_PREFIX . 'screenshots`;');
|
|
foreach ($query->fetchAll() as $item) {
|
|
$db->update(TABLE_PREFIX . 'screenshots', [
|
|
'image' => str_replace('/gallery/', '/screenshots/', $item['image']),
|
|
'thumb' => str_replace('/gallery/', '/screenshots/', $item['thumb']),
|
|
], ['id' => $item['id']]);
|
|
}
|
|
};
|