Skip to content

Commit 90568d3

Browse files
authored
Add indexes on foreign keys in Reminders and SyncUp examples (pointfreeco#317)
* Add indexes on foreign keys in Reminders and SyncUp examples * idx_remindersListAssets_remindersListID is not necessary because remindersListID is the primary key and so already indexed. * F**. fix last fix
1 parent 030ebbd commit 90568d3

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

‎Examples/Reminders/Schema.swift‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,30 @@ func appDatabase() throws -> any DatabaseWriter {
229229
.execute(db)
230230
}
231231

232+
migrator.registerMigration("Create foreign key indexes") { db in
233+
try #sql(
234+
"""
235+
CREATE INDEX IF NOT EXISTS "idx_reminders_remindersListID"
236+
ON "reminders"("remindersListID")
237+
"""
238+
)
239+
.execute(db)
240+
try #sql(
241+
"""
242+
CREATE INDEX IF NOT EXISTS "idx_remindersTags_reminderID"
243+
ON "remindersTags"("reminderID")
244+
"""
245+
)
246+
.execute(db)
247+
try #sql(
248+
"""
249+
CREATE INDEX IF NOT EXISTS "idx_remindersTags_tagID"
250+
ON "remindersTags"("tagID")
251+
"""
252+
)
253+
.execute(db)
254+
}
255+
232256
try migrator.migrate(database)
233257

234258
try database.write { db in
@@ -515,3 +539,4 @@ nonisolated private let logger = Logger(subsystem: "Reminders", category: "Datab
515539
}
516540
}
517541
#endif
542+

‎Examples/SyncUps/Schema.swift‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,22 @@ extension DependencyValues {
123123
)
124124
.execute(db)
125125
}
126+
migrator.registerMigration("Create foreign key indexes") { db in
127+
try #sql(
128+
"""
129+
CREATE INDEX IF NOT EXISTS "idx_attendees_syncUpID"
130+
ON "attendees"("syncUpID")
131+
"""
132+
)
133+
.execute(db)
134+
try #sql(
135+
"""
136+
CREATE INDEX IF NOT EXISTS "idx_meetings_syncUpID"
137+
ON "meetings"("syncUpID")
138+
"""
139+
)
140+
.execute(db)
141+
}
126142
try migrator.migrate(database)
127143
defaultDatabase = database
128144
defaultSyncEngine = try SyncEngine(

0 commit comments

Comments
 (0)