I am trying to use transaction to create rows in multiple tables and update another table relationship column. but when I commit the transaction, I get The transaction has a conflict error. the strange thing is, out of the 4 tables that needed to be updated, only one got updated but it confused the column values. It updated the $createdAt and $updatedAt columns with relationship values and it updated the two custom columns with date values. I am using the dark sdk for experimenting. I have included a screenshot. ```Dart
Future<void> createFamily() async {
final ateyibUserId = 'userId';
var tablesDb = TablesDB(client); var userSecureInfoRow = await tablesDb.getRow( databaseId: databaseId, tableId: 'usersecurityinfo', rowId: ateyibUserId, );
final transaction = await tablesDb.createTransaction();
final tid = transaction.$id;
// create family final familyId = ID.unique(); final result = await tablesDb.createRow( databaseId: databaseId, rowId: familyId, tableId: 'family', data: { 'name': 'The Ates', 'creator': ateyibUserId, 'memberships': [ {'role': 'admin', 'user': ateyibUserId, 'familyId': familyId}, ], }, transactionId: tid, );
// create familyKey final familyKeyId = ID.unique(); final family = await tablesDb.createRow( databaseId: databaseId, tableId: 'familyKey', rowId: familyKeyId, data: {'userId': ateyibUserId, 'familyId': familyId, 'key': 'familyKey'}, transactionId: tid, );
// update user secure info final secureInfoRows = await tablesDb.updateRow( databaseId: databaseId, tableId: 'usersecurityinfo', rowId: ateyibUserId, data: { 'families': [...familyIds, familyId], 'familyKeys': [...familyKeyIds, familyKeyId], }, transactionId: tid, );
// Commit await tablesDb.updateTransaction( transactionId: tid, commit: true, ); }```
In the usersecurityinfo table, the families and familyKyes columns are relationship columns
another strange thing is when i fetch the usersecurityinfo table, I get the correct data other that the relationship columns are null.
Recommended threads
- Helping in unblock my account
I deleted my Appwrite Cloud account that was linked via GitHub. Now I activated my GitHub Student Pack and want to sign up again using the same GitHub account, ...
- Not allowed permission to upsert a prese...
```js const presenceID = ID.unique(); setPID(presenceID); const presence = await presences.upsert({ presenceId: presenceID, status: "online"...
- Request for temporary 3 to 4 hours datab...
Hi Appwrite Team, I hope you are doing well.We are an early-stage startup currently running on Appwrite Cloud. We have unfortunately exhausted our database rea...