Skip to content

Commit 2cf5d6a

Browse files
committed
Add migration for places to resources
1 parent efd4cda commit 2cf5d6a

File tree

7 files changed

+37
-8
lines changed

7 files changed

+37
-8
lines changed

.github/workflows/build.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,10 @@ jobs:
184184
- uses: subosito/[email protected]
185185
with:
186186
flutter-version-file: app/pubspec.yaml
187+
channel: 'master'
188+
cache: true
189+
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
190+
cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:'
187191
- name: ✅ Enable platforms
188192
run: flutter config --enable-linux-desktop
189193
- name: 📦 Get dependencies
@@ -303,6 +307,10 @@ jobs:
303307
- uses: subosito/[email protected]
304308
with:
305309
flutter-version-file: app/pubspec.yaml
310+
channel: 'master'
311+
cache: true
312+
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
313+
cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:'
306314
- name: ✅ Enable platforms
307315
run: flutter config --enable-linux-desktop
308316
- name: 📦 Get dependencies

api/lib/models/event/database.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ class EventDatabaseService extends EventService with TableService {
9393
@override
9494
FutureOr<void> migrate(Database db, int version) async {
9595
if (version < 4) {
96-
await db.execute("ALTER TABLE events DROP COLUMN placeId");
96+
await db.execute("ALTER TABLE events RENAME TO events_old");
97+
await create(db);
9798
}
9899
}
99100

api/lib/models/event/item/database.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ class CalendarItemDatabaseService extends CalendarItemService
5050
await txn.execute("ALTER TABLE calendarItems ADD placeId BLOB(16)");
5151
});
5252
}
53-
if (version < 4) {
54-
await db.execute("ALTER TABLE events DROP COLUMN placeId");
55-
}
5653
}
5754

5855
@override

api/lib/models/resource/event.dart

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flow_api/models/event/model.dart';
22
import 'package:flow_api/models/resource/database.dart';
3+
import 'package:sqflite_common/sqlite_api.dart';
34

45
class EventResourceDatabaseConnector extends ResourceDatabaseConnector<Event> {
56
@override
@@ -13,4 +14,16 @@ class EventResourceDatabaseConnector extends ResourceDatabaseConnector<Event> {
1314

1415
@override
1516
Event decode(Map<String, dynamic> data) => Event.fromDatabase(data);
17+
18+
@override
19+
Future<void> migrate(Database db, int version) async {
20+
await super.migrate(db, version);
21+
if (version < 4) {
22+
await db.execute(
23+
"INSERT INTO events SELECT id, parentId, groupId, blocked, name, description, location, extra FROM events_old");
24+
await db.execute(
25+
"INSERT INTO eventResources(eventId, resourceId) SELECT id, placeId FROM events_old");
26+
await db.execute("DROP TABLE events_old");
27+
}
28+
}
1629
}

api/lib/models/resource/item.dart

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'package:flow_api/models/event/item/model.dart';
2-
32
import 'package:flow_api/models/resource/database.dart';
3+
import 'package:sqflite_common/sqlite_api.dart';
44

55
class CalendarItemResourceDatabaseConnector
66
extends ResourceDatabaseConnector<CalendarItem> {
@@ -16,4 +16,14 @@ class CalendarItemResourceDatabaseConnector
1616
@override
1717
CalendarItem decode(Map<String, dynamic> data) =>
1818
CalendarItem.fromDatabase(data);
19+
20+
@override
21+
Future<void> migrate(Database db, int version) async {
22+
await super.migrate(db, version);
23+
if (version < 4) {
24+
await db.execute(
25+
"INSERT INTO calendarItemResources(itemId, resourceId) SELECT id, placeId FROM calendarItems");
26+
await db.execute("ALTER TABLE calendarItems DROP COLUMN placeId");
27+
}
28+
}
1929
}

app/pubspec.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,10 +1113,10 @@ packages:
11131113
dependency: "direct main"
11141114
description:
11151115
name: sqflite_common_ffi_web
1116-
sha256: "983cf7b33b16e6bc086c8e09f6a1fae69d34cdb167d7acaf64cbd3515942d4e6"
1116+
sha256: "61ea702e7aba727f28be7ead00b84c19c745cd4a4934d0c41473303df11ac9ea"
11171117
url: "https://pub.dev"
11181118
source: hosted
1119-
version: "1.0.0"
1119+
version: "0.4.5+4"
11201120
sqflite_darwin:
11211121
dependency: transitive
11221122
description:

app/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ dependencies:
5353
sqflite_common: ^2.5.3
5454
sqflite: ^2.3.3
5555
sqflite_common_ffi: ^2.3.3
56-
sqflite_common_ffi_web: ^1.0.0
56+
sqflite_common_ffi_web: ^0.4.3+1
5757
sqlite3_flutter_libs: ^0.5.20
5858
sqlite3: ^2.4.2
5959
dynamic_color: ^1.7.0

0 commit comments

Comments
 (0)