@@ -13,8 +13,7 @@ Dieser Schnellstart wird wenig um den heißen Brei herumreden und direkt mit dem
13
13
Bevor es losgeht, müssen wir ein paar Pakete zur ` pubspec.yaml ` hinzufügen. Damit es schneller geht lassen wir pub das für uns erledigen.
14
14
15
15
``` bash
16
- flutter pub add isar isar_flutter_libs
17
- flutter pub add -d isar_generator build_runner
16
+ dart pub add isar:^4.0.0-dev.15 isar_flutter_libs:^4.0.0-dev.15 --hosted-url=https://isar-community.dev
18
17
```
19
18
20
19
## 2. Klassen annotieren
@@ -26,7 +25,7 @@ part 'user.g.dart';
26
25
27
26
@collection
28
27
class User {
29
- Id id = Isar.autoIncrement; // Für auto-increment kannst du auch id = null zuweisen
28
+ late int id;
30
29
31
30
String? name;
32
31
@@ -36,21 +35,7 @@ class User {
36
35
37
36
IDs identifizieren Objekte in einer Collection eindeutig und erlauben es dir, sie später wiederzufinden.
38
37
39
- ## 3. Code-Generator ausführen
40
-
41
- Führe den folgenden Befehl aus, um den ` build_runner ` zu starten:
42
-
43
- ```
44
- dart run build_runner build
45
- ```
46
-
47
- Wenn du Flutter verwendest:
48
-
49
- ```
50
- flutter pub run build_runner build
51
- ```
52
-
53
- ## 4. Isar-Instanz öffnen
38
+ ## 3. Isar-Instanz öffnen
54
39
55
40
Öffne eine neue Isar-Instanz und übergebe alle Collection-Schemata. Optional kannst du einen Instanznamen und ein Verzeichnis angeben.
56
41
@@ -62,7 +47,7 @@ final isar = await Isar.open(
62
47
);
63
48
```
64
49
65
- ## 5 . Schreiben und lesen
50
+ ## 4 . Schreiben und lesen
66
51
67
52
Wenn deine Instanz geöffnet ist, hast du Zugriff auf die Collections.
68
53
@@ -71,13 +56,14 @@ Alle grundlegenden CRUD-Operationen sind über die `IsarCollection` verfügbar .
71
56
``` dart
72
57
final newUser = User()..name = 'Jane Doe'..age = 36;
73
58
74
- await isar.writeTxn(() async {
59
+ await isar.writeAsync((isar) async {
60
+ newUser.id = isar.users.autoIncrement();
75
61
await isar.users.put(newUser); // Einfügen & akualisieren
76
62
});
77
63
78
64
final existingUser = await isar.users.get(newUser.id); // Erhalten
79
65
80
- await isar.writeTxn(( ) async {
66
+ await isar.writeAsync((isar ) async {
81
67
await isar.users.delete(existingUser.id!); // Löschen
82
68
});
83
69
```
0 commit comments