Finding today's burials in the review log meant reading every review the cards ever had, once more in the library's progress, the card list and each round. card.buriedAt holds it instead, read with the cards those screens read anyway. The sync engine merges a row's fields one by one, so a burial and a move of the same card on two devices both stand (a sync test checks it). The review log's bury mode is gone. The migration adds one nullable column, on the server and on devices: ALTER TABLE "card" ADD COLUMN "buriedAt" (timestamp without time zone on the server, INTEGER in SQLite); existing rows read as not buried. Apps built before it stop syncing until they are updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
33 lines
No EOL
836 B
JSON
33 lines
No EOL
836 B
JSON
{
|
|
"__className__": "serverpod.DatabaseMigration",
|
|
"actions": [
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationAction",
|
|
"type": "alterTable",
|
|
"alterTable": {
|
|
"__className__": "serverpod.TableMigration",
|
|
"name": "card",
|
|
"schema": "public",
|
|
"addColumns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "buriedAt",
|
|
"fieldName": "buriedAt",
|
|
"columnType": 4,
|
|
"isNullable": true,
|
|
"dartType": "DateTime?"
|
|
}
|
|
],
|
|
"deleteColumns": [],
|
|
"modifyColumns": [],
|
|
"addIndexes": [],
|
|
"deleteIndexes": [],
|
|
"addForeignKeys": [],
|
|
"deleteForeignKeys": [],
|
|
"warnings": []
|
|
}
|
|
}
|
|
],
|
|
"warnings": [],
|
|
"migrationApiVersion": 1
|
|
} |