diff --git a/server/functions.php b/server/functions.php
index e205fb4..4202fa8 100755
--- a/server/functions.php
+++ b/server/functions.php
@@ -28,7 +28,7 @@
*/
$MAX_ENTRY_LEN = 512;
$USERS_PATH = "./users/";
-$TARGET_DB_VERSION = 1;
+$TARGET_DB_VERSION = 2;
function sanitize($val)
{
@@ -106,15 +106,35 @@ function _migrate_0($user, $db)
return 0;
}
+function _migrate_1($user, $db)
+{
+ try {
+ $db->query("CREATE TABLE conf(db_version INTEGER, last_access_time INTEGER)");
+ $db->query("INSERT INTO conf VALUES(2, 0)");
+ }
+ catch(Exception $e)
+ {
+ $db->close();
+ echo "
Unable to load database for user $user ! : $e
";
+ return -1;
+ }
+
+ return 0;
+}
+
function migrate_database($user, $db)
{
global $TARGET_DB_VERSION;
- $migration_functions = ['_migrate_0'];
+ $migration_functions = ['_migrate_0', '_migrate_1'];
- $version = $db->querySingle("SELECT version FROM db_version");
- if ($version == false)
- $version = 0;
+ $version = $db->querySingle("SELECT db_version FROM conf");
+ if ($version == false || $version == -1)
+ {
+ $version = $db->querySingle("SELECT version FROM db_version");
+ if ($version == false || $version == -1)
+ $version = 0;
+ }
for($i=$version; $i<$TARGET_DB_VERSION; $i++)
{
diff --git a/server/init.sql b/server/init.sql
index 1163973..78e6b3c 100755
--- a/server/init.sql
+++ b/server/init.sql
@@ -1,3 +1,3 @@
CREATE TABLE gpass(login VARCHAR(512) PRIMARY KEY, password VARCHAR(512), shadow_login VARCHAR(32), salt VARCHAR(32), access_token VARCHAR(32));
-CREATE TABLE db_version(version INTEGER);
-INSERT INTO db_version VALUES (1);
\ No newline at end of file
+CREATE TABLE conf(db_version INTEGER, last_access_time INTEGER);
+INSERT INTO conf VALUES (2, 0);