Skip to content

Commit 4ebf32a

Browse files
committed
Support order for foreign key dependencies
1 parent 5118d4b commit 4ebf32a

9 files changed

Lines changed: 111 additions & 72 deletions

File tree

Samples/Flutter/client_app/lib/src/data/database.g.dart

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

netcoresync_moor/lib/src/netcoresync_annotations.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ class NetCoreSyncTable {
44
final String timeStampFieldName;
55
final String deletedFieldName;
66
final String knowledgeIdFieldName;
7+
final int order;
78

89
const NetCoreSyncTable({
910
this.mapToClassName = "",
1011
this.idFieldName = "id",
1112
this.timeStampFieldName = "timeStamp",
1213
this.deletedFieldName = "deleted",
1314
this.knowledgeIdFieldName = "knowledgeId",
15+
this.order = 0,
1416
});
1517

1618
factory NetCoreSyncTable.fromJson(Map<String, dynamic> json) {
@@ -20,6 +22,7 @@ class NetCoreSyncTable {
2022
timeStampFieldName: json["timeStampFieldName"],
2123
deletedFieldName: json["deletedFieldName"],
2224
knowledgeIdFieldName: json["knowledgeIdFieldName"],
25+
order: json["order"],
2326
);
2427
}
2528

@@ -30,6 +33,7 @@ class NetCoreSyncTable {
3033
"timeStampFieldName": timeStampFieldName,
3134
"deletedFieldName": deletedFieldName,
3235
"knowledgeIdFieldName": knowledgeIdFieldName,
36+
"order": order,
3337
};
3438
}
3539
}

netcoresync_moor/lib/src/netcoresync_engine.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import 'package:moor/moor.dart';
22
import 'netcoresync_annotations.dart';
33

44
abstract class NetCoreSyncEngine {
5+
late List<Type> orderedTypes;
56
late Map<Type, NetCoreSyncTableUser> tables;
67

7-
NetCoreSyncEngine(this.tables);
8+
NetCoreSyncEngine(this.orderedTypes, this.tables);
89

910
Object? getSyncColumnValue<D>(Insertable<D> entity, String fieldName);
1011

netcoresync_moor/test/data/areas.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:netcoresync_moor/netcoresync_moor.dart';
88
timeStampFieldName: "syncTimeStamp",
99
deletedFieldName: "syncDeleted",
1010
knowledgeIdFieldName: "syncKnowledgeId",
11+
order: 1,
1112
)
1213
@DataClassName("AreaData")
1314
class Areas extends Table {

netcoresync_moor/test/data/custom_objects.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'database.dart';
55

66
@NetCoreSyncTable(
77
mapToClassName: "SyncCustomObject",
8+
order: 3,
89
)
910
@UseRowClass(CustomObject, constructor: "fromDb")
1011
class CustomObjects extends Table {

netcoresync_moor/test/data/database.g.dart

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

netcoresync_moor/test/data/persons.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:netcoresync_moor/netcoresync_moor.dart';
44

55
@NetCoreSyncTable(
66
mapToClassName: "SyncPerson",
7+
order: 2,
78
)
89
class Persons extends Table {
910
TextColumn get id =>

0 commit comments

Comments
 (0)