migration for default state in db

This commit is contained in:
Moritz Weber 2021-01-17 12:11:22 +01:00
parent 7d346badef
commit 4c325396bc
3 changed files with 39 additions and 45 deletions

View file

@ -69,12 +69,7 @@ class PlayerStateDao extends DatabaseAccessor<MoorDatabase>
@override
Future<void> setCurrentIndex(int index) async {
final currentState = await select(persistentIndex).getSingle();
if (currentState != null) {
update(persistentIndex).write(PersistentIndexCompanion(index: Value(index)));
} else {
into(persistentIndex).insert(PersistentIndexCompanion(index: Value(index)));
}
update(persistentIndex).write(PersistentIndexCompanion(index: Value(index)));
}
@override
@ -84,28 +79,16 @@ class PlayerStateDao extends DatabaseAccessor<MoorDatabase>
@override
Future<void> setLoopMode(LoopMode loopMode) async {
final currentState = await select(persistentLoopMode).getSingle();
if (currentState != null) {
update(persistentLoopMode).write(PersistentLoopModeCompanion(
loopMode: Value(loopMode.toInt()),
));
} else {
into(persistentLoopMode).insert(PersistentLoopModeCompanion(
loopMode: Value(loopMode.toInt()),
));
}
update(persistentLoopMode).write(
PersistentLoopModeCompanion(loopMode: Value(loopMode.toInt())),
);
}
@override
Future<void> setShuffleMode(ShuffleMode shuffleMode) async {
final currentState = await select(persistentShuffleMode).getSingle();
if (currentState != null) {
update(persistentShuffleMode)
.write(PersistentShuffleModeCompanion(shuffleMode: Value(shuffleMode.toInt())));
} else {
into(persistentShuffleMode)
.insert(PersistentShuffleModeCompanion(shuffleMode: Value(shuffleMode.toInt())));
}
update(persistentShuffleMode).write(
PersistentShuffleModeCompanion(shuffleMode: Value(shuffleMode.toInt())),
);
}
@override

View file

@ -112,6 +112,17 @@ class MoorDatabase extends _$MoorDatabase {
@override
int get schemaVersion => 1;
@override
MigrationStrategy get migration => MigrationStrategy(beforeOpen: (details) async {
if (details.wasCreated) {
await into(persistentIndex).insert(const PersistentIndexCompanion(index: Value(0)));
await into(persistentLoopMode)
.insert(const PersistentLoopModeCompanion(loopMode: Value(0)));
await into(persistentShuffleMode)
.insert(const PersistentShuffleModeCompanion(shuffleMode: Value(0)));
}
});
}
LazyDatabase _openConnection() {

View file

@ -35,7 +35,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.5.0-nullsafety.1"
version: "2.5.0-nullsafety.3"
audio_service:
dependency: "direct main"
description:
@ -58,7 +58,7 @@ packages:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0-nullsafety.1"
version: "2.1.0-nullsafety.3"
build:
dependency: transitive
description:
@ -121,14 +121,14 @@ packages:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0-nullsafety.3"
version: "1.1.0-nullsafety.5"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0-nullsafety.1"
version: "1.2.0-nullsafety.3"
checked_yaml:
dependency: transitive
description:
@ -149,7 +149,7 @@ packages:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0-nullsafety.1"
version: "1.1.0-nullsafety.3"
code_builder:
dependency: transitive
description:
@ -163,7 +163,7 @@ packages:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0-nullsafety.3"
version: "1.15.0-nullsafety.5"
convert:
dependency: transitive
description:
@ -212,7 +212,7 @@ packages:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0-nullsafety.1"
version: "1.2.0-nullsafety.3"
ffi:
dependency: transitive
description:
@ -346,7 +346,7 @@ packages:
name: js
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.2"
version: "0.6.3-nullsafety.3"
json_annotation:
dependency: transitive
description:
@ -388,14 +388,14 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.10-nullsafety.1"
version: "0.12.10-nullsafety.3"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0-nullsafety.3"
version: "1.3.0-nullsafety.6"
mime:
dependency: transitive
description:
@ -472,7 +472,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0-nullsafety.1"
version: "1.8.0-nullsafety.3"
path_provider:
dependency: "direct main"
description:
@ -624,7 +624,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0-nullsafety.2"
version: "1.8.0-nullsafety.4"
sqflite:
dependency: transitive
description:
@ -666,14 +666,14 @@ packages:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0-nullsafety.1"
version: "1.10.0-nullsafety.6"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0-nullsafety.1"
version: "2.1.0-nullsafety.3"
stream_transform:
dependency: transitive
description:
@ -687,7 +687,7 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0-nullsafety.1"
version: "1.1.0-nullsafety.3"
synchronized:
dependency: transitive
description:
@ -701,14 +701,14 @@ packages:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0-nullsafety.1"
version: "1.2.0-nullsafety.3"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.19-nullsafety.2"
version: "0.2.19-nullsafety.6"
timing:
dependency: transitive
description:
@ -722,7 +722,7 @@ packages:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0-nullsafety.3"
version: "1.3.0-nullsafety.5"
uuid:
dependency: transitive
description:
@ -736,7 +736,7 @@ packages:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0-nullsafety.3"
version: "2.1.0-nullsafety.5"
watcher:
dependency: transitive
description:
@ -773,5 +773,5 @@ packages:
source: hosted
version: "2.2.1"
sdks:
dart: ">=2.10.2 <2.11.0"
flutter: ">=1.22.2 <2.0.0"
dart: ">=2.12.0-0.0 <3.0.0"
flutter: ">=1.22.2"