diff options
Diffstat (limited to 'src/internal-server/start/migrate.js')
-rw-r--r-- | src/internal-server/start/migrate.js | 24 |
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'); | |||
6 | const Database = use('Database'); | 6 | const Database = use('Database'); |
7 | const User = use('App/Models/User'); | 7 | const User = use('App/Models/User'); |
8 | 8 | ||
9 | const migrateLog = (text) => { | 9 | const 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 | ||
13 | module.exports = async () => { | 13 | module.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 |