Refactoring

This commit is contained in:
Justin Mazzocchi 2020-09-27 23:05:08 -07:00
parent 2c9a69f8f6
commit 40d266ad26
No known key found for this signature in database
GPG Key ID: E223E6937AAFB01C
2 changed files with 8 additions and 9 deletions

View File

@ -25,7 +25,7 @@ public struct ContentDatabase {
databaseWriter = try DatabasePool(path: path, configuration: configuration) databaseWriter = try DatabasePool(path: path, configuration: configuration)
} }
try migrate() try migrator.migrate(databaseWriter)
clean() clean()
} }
} }
@ -278,8 +278,7 @@ private extension ContentDatabase {
try FileManager.default.databaseDirectoryURL(name: identityID.uuidString) try FileManager.default.databaseDirectoryURL(name: identityID.uuidString)
} }
// swiftlint:disable:next function_body_length private var migrator: DatabaseMigrator {
func migrate() throws {
var migrator = DatabaseMigrator() var migrator = DatabaseMigrator()
migrator.registerMigration("0.1.0") { db in migrator.registerMigration("0.1.0") { db in
@ -393,7 +392,7 @@ private extension ContentDatabase {
} }
} }
try migrator.migrate(databaseWriter) return migrator
} }
func clean() { func clean() {

View File

@ -28,7 +28,7 @@ public struct IdentityDatabase {
databaseWriter = try DatabasePool(path: path, configuration: configuration) databaseWriter = try DatabasePool(path: path, configuration: configuration)
} }
try migrate() try migrator.migrate(databaseWriter)
} }
} }
@ -214,7 +214,7 @@ public extension IdentityDatabase {
} }
private extension IdentityDatabase { private extension IdentityDatabase {
static let name = "Identity" static let name = "identity"
static func writePreferences(_ preferences: Identity.Preferences, id: UUID) -> (Database) throws -> Void { static func writePreferences(_ preferences: Identity.Preferences, id: UUID) -> (Database) throws -> Void {
{ {
@ -226,10 +226,10 @@ private extension IdentityDatabase {
} }
} }
func migrate() throws { private var migrator: DatabaseMigrator {
var migrator = DatabaseMigrator() var migrator = DatabaseMigrator()
migrator.registerMigration("createIdentities") { db in migrator.registerMigration("0.1.0") { db in
try db.create(table: "instance", ifNotExists: true) { t in try db.create(table: "instance", ifNotExists: true) { t in
t.column("uri", .text).notNull().primaryKey(onConflict: .replace) t.column("uri", .text).notNull().primaryKey(onConflict: .replace)
t.column("streamingAPI", .text) t.column("streamingAPI", .text)
@ -265,6 +265,6 @@ private extension IdentityDatabase {
} }
} }
try migrator.migrate(databaseWriter) return migrator
} }
} }