aboutsummaryrefslogtreecommitdiffstats
path: root/src/internal-server/start/migrate.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal-server/start/migrate.js')
-rw-r--r--src/internal-server/start/migrate.js24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/internal-server/start/migrate.js b/src/internal-server/start/migrate.js
index c27e07bc5..0f25240cc 100644
--- a/src/internal-server/start/migrate.js
+++ b/src/internal-server/start/migrate.js
@@ -6,29 +6,39 @@ const { ferdiVersion } = require('../../environment');
6const Database = use('Database'); 6const Database = use('Database');
7const User = use('App/Models/User'); 7const User = use('App/Models/User');
8 8
9const migrateLog = (text) => { 9const migrateLog = text => {
10 console.log('\x1b[36m%s\x1b[0m', 'Ferdi Migration:', '\x1b[0m', text); 10 console.log('\u001B[36m%s\u001B[0m', 'Ferdi Migration:', '\u001B[0m', text);
11}; 11};
12 12
13module.exports = async () => { 13module.exports = async () => {
14 migrateLog('🧙‍ Running database migration wizard'); 14 migrateLog('🧙‍ Running database migration wizard');
15 15
16 // Make sure user table exists 16 // Make sure user table exists
17 await Database.raw('CREATE TABLE IF NOT EXISTS `users` (`id` integer not null primary key autoincrement, `settings` text, `created_at` datetime, `updated_at` datetime);'); 17 await Database.raw(
18 'CREATE TABLE IF NOT EXISTS `users` (`id` integer not null primary key autoincrement, `settings` text, `created_at` datetime, `updated_at` datetime);',
19 );
18 20
19 const user = await User.find(1); 21 const user = await User.find(1);
20 let settings; 22 let settings;
21 if (!user) { 23 if (!user) {
22 migrateLog('🎩 Migrating from old Ferdi version as user doesn\'t exist'); 24 migrateLog("🎩 Migrating from old Ferdi version as user doesn't exist");
23 25
24 // Create new user 26 // Create new user
25 await Database.raw('INSERT INTO "users" ("id") VALUES (\'1\');'); 27 await Database.raw('INSERT INTO "users" ("id") VALUES (\'1\');');
26 } else { 28 } else {
27 settings = typeof user.settings === 'string' ? JSON.parse(user.settings) : user.settings; 29 settings =
30 typeof user.settings === 'string'
31 ? JSON.parse(user.settings)
32 : user.settings;
28 } 33 }
29 34
30 if (!settings || !settings.db_version || settings.db_version !== ferdiVersion) { 35 if (
31 const srcVersion = settings && settings.db_version ? settings.db_version : '5.4.0-beta.2'; 36 !settings ||
37 !settings.db_version ||
38 settings.db_version !== ferdiVersion
39 ) {
40 const srcVersion =
41 settings && settings.db_version ? settings.db_version : '5.4.0-beta.2';
32 migrateLog(`🔮 Migrating table from ${srcVersion} to ${ferdiVersion}`); 42 migrateLog(`🔮 Migrating table from ${srcVersion} to ${ferdiVersion}`);
33 43
34 // Migrate database to current Ferdi version 44 // Migrate database to current Ferdi version