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` ( |
CREATE TABLE IF NOT EXISTS `admin` ( |
||||||
`admin_id` varchar(255) NOT NULL, |
`admin_id` varchar(255) NOT NULL, |
||||||
`admin_pass` 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