14 changed files with 125 additions and 28 deletions
@ -0,0 +1,55 @@
|
||||
<?php |
||||
|
||||
if (count($argv) !== 2) { |
||||
echo "Need the www base path as argument"; |
||||
exit(0); |
||||
} |
||||
|
||||
$www = $argv[1]; |
||||
|
||||
require("$www/include/config.php"); |
||||
require("$www/include/connect.php"); |
||||
require("$www/include/functions.php"); |
||||
|
||||
$migrations = getMigrationSchemas(); |
||||
|
||||
try { |
||||
$req = $bdd->prepare('SELECT `sql_schema` FROM `application` LIMIT 1'); |
||||
$req->execute(); |
||||
$data = $req->fetch(); |
||||
|
||||
$sql_schema = 0; |
||||
if ($data['sql_schema']) { |
||||
$sql_schema = $data['sql_schema']; |
||||
} |
||||
} |
||||
// Table does not exist |
||||
catch (Exception $e) { |
||||
$sql_schema = 0; |
||||
} |
||||
|
||||
// For each migrations |
||||
foreach ($migrations as $migration_value) { |
||||
|
||||
// Do the migration, we are behind the last schema |
||||
if ($sql_schema < $migration_value) { |
||||
|
||||
// Create the tables or die |
||||
$sql_file = dirname(__FILE__) . "/sql/schema-$migration_value.sql"; |
||||
try { |
||||
$sql = file_get_contents($sql_file); |
||||
$bdd->exec($sql); |
||||
} |
||||
catch (PDOException $e) { |
||||
printError($e->getMessage()); |
||||
exit(1); |
||||
} |
||||
|
||||
// Update schema to the new value |
||||
updateSchema($bdd, $migration_value); |
||||
|
||||
echo "Moved to schema $migration_value"; |
||||
} |
||||
} |
||||
|
||||
?> |
@ -1,3 +1,5 @@
|
||||
CREATE TABLE IF NOT EXISTS `application` ( `id` INT(11) AUTO_INCREMENT, `sql_schema` INT(11) NOT NULL, PRIMARY KEY (id) ); |
||||
|
||||
CREATE TABLE IF NOT EXISTS `admin` ( |
||||
`admin_id` varchar(255) NOT NULL, |
||||
`admin_pass` varchar(255) NOT NULL, |
@ -0,0 +1,9 @@
|
||||
CREATE TABLE IF NOT EXISTS `application` ( `id` INT(11) AUTO_INCREMENT, `sql_schema` INT(11) NOT NULL, PRIMARY KEY (id) ); |
||||
|
||||
ALTER TABLE `user` CHANGE `user_start_date` `user_start_date` DATE NULL DEFAULT NULL; |
||||
ALTER TABLE `user` CHANGE `user_end_date` `user_end_date` DATE NULL DEFAULT NULL; |
||||
ALTER TABLE `log` CHANGE `log_end_time` `log_end_time` TIMESTAMP NULL DEFAULT NULL; |
||||
|
||||
UPDATE `user` SET `user_start_date` = NULL WHERE `user_start_date` = '0000-00-00'; |
||||
UPDATE `user` SET `user_end_date` = NULL WHERE `user_end_date` = '0000-00-00'; |
||||
UPDATE `log` SET `log_end_time` = NULL WHERE `log_end_time` = '0000-00-00'; |
Loading…
Reference in new issue