Skip to content

Commit e016173

Browse files
committed
add many-to-many inserting and updating
1 parent 156f3e4 commit e016173

13 files changed

Lines changed: 552 additions & 209 deletions

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Unreleased
22

33
- Added support for default column values via the `@Default` annotation.
4+
- Added support for creating and updating many-to-many relations through the normal `insert` and `update` methods.
45

56
# 0.17.0
67

example/lib/main.dart

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'models/account.dart';
66
import 'models/address.dart';
77
import 'models/company.dart';
88
import 'models/latlng.dart';
9+
import 'models/party.dart';
910

1011
Future<void> main() async {
1112
var db = Database(
@@ -21,7 +22,6 @@ Future<void> main() async {
2122
await migrate(db);
2223

2324
await db.companies.deleteOne('abc');
24-
2525
await db.companies.insertOne(CompanyInsertRequest(id: 'abc', name: 'Minga', addresses: []));
2626

2727
await db.accounts.deleteMany([0, 1, 2]);
@@ -42,11 +42,19 @@ Future<void> main() async {
4242
);
4343

4444
var account = await db.accounts.queryUserView(accountId);
45+
print((account!.id, account.parties));
4546

46-
print(account!.id);
47+
await db.parties.deleteOne('party1');
48+
await db.parties.insertOne(PartyInsertRequest(id: 'party1', name: 'Party 1', date: 1));
4749

48-
var company = await db.companies.queryFullView('abc');
50+
await db.accounts.updateOne(
51+
AccountUpdateRequest(id: accountId, parties: UpdateValues.add(['party1'])),
52+
);
4953

54+
account = await db.accounts.queryUserView(accountId);
55+
print((account!.id, account.parties));
56+
57+
var company = await db.companies.queryFullView('abc');
5058
print(company!.id);
5159

5260
await db.close();

example/lib/models/account.schema.dart

Lines changed: 108 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/lib/models/address.schema.dart

Lines changed: 25 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/lib/models/company.schema.dart

Lines changed: 36 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)