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
44 lines
935 B
PHP
44 lines
935 B
PHP
<?php
|
|
/**
|
|
* Database migrations
|
|
*
|
|
* @package MyAAC
|
|
* @author Slawkens <slawkens@gmail.com>
|
|
* @copyright 2019 MyAAC
|
|
* @link https://my-aac.org
|
|
*/
|
|
defined('MYAAC') or die('Direct access not allowed!');
|
|
|
|
// database migrations
|
|
$tmp = '';
|
|
if(fetchDatabaseConfig('database_version', $tmp)) { // we got version
|
|
$tmp = (int)$tmp;
|
|
if($tmp < DATABASE_VERSION) { // import if older
|
|
$db->revalidateCache();
|
|
for($i = $tmp + 1; $i <= DATABASE_VERSION; $i++) {
|
|
require SYSTEM . 'migrations/' . $i . '.php';
|
|
|
|
if (isset($up)) {
|
|
$up();
|
|
unset($up);
|
|
}
|
|
|
|
updateDatabaseConfig('database_version', $i);
|
|
}
|
|
}
|
|
}
|
|
else { // register first version
|
|
registerDatabaseConfig('database_version', 0);
|
|
$db->revalidateCache();
|
|
for($i = 1; $i <= DATABASE_VERSION; $i++) {
|
|
require SYSTEM . 'migrations/' . $i . '.php';
|
|
|
|
if (isset($up)) {
|
|
$up();
|
|
unset($up);
|
|
}
|
|
|
|
updateDatabaseConfig('database_version', $i);
|
|
}
|
|
}
|