File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed
Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -7,10 +7,23 @@ struct BodiesApp: App {
77 // "overwrite" can be used during development to get a clean database on
88 // each run.
99 #if DEBUG
10- let database = try ! BodiesDB . bootstrap ( overwrite: true )
10+ let database =
11+ try ! BodiesDB . bootstrap ( into: . cachesDirectory, overwrite: true )
1112 #else
12- let database = try ! BodiesDB . bootstrap ( )
13+ let database = try ! BodiesDB . bootstrap ( into : . cachesDirectory )
1314 #endif
15+
16+ init ( ) {
17+ // Check whether a migration is necessary.
18+ let schemaVersion =
19+ try ! database. get ( pragma: " user_version " , as: Int . self)
20+ if schemaVersion != BodiesDB . userVersion {
21+ try ! database. fetch ( " UPDATE " ) { _, _ in }
22+
23+ print ( " Dumping cache, the version is outdated. " )
24+ _ = try ! BodiesDB . bootstrap ( overwrite: true )
25+ }
26+ }
1427
1528 var body : some Scene {
1629 WindowGroup {
You can’t perform that action at this time.
0 commit comments