Deleting a studyset blanked it with everything inside it once a four-second Undo was over. It now only marks it (`studyset.deletedAt`, a column as `archivedAt`): it leaves every list, count and session with what is inside it and waits in the library's Recently deleted for 14 days, saying how many are left, with Restore and Delete now. Deleting no longer asks first and offers Undo; Delete now asks. Once the 14 days are over, whichever of the person's devices looks next (as their data opens, after every sync) deletes it for good, blanking first as before; the server can't blank a payload and never writes a person's space (ADR 0007). The connector, publishing and the learner count leave deleted studysets out too. The migration adds one nullable column: app versions before it stop syncing until they update. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
33 lines
No EOL
842 B
JSON
33 lines
No EOL
842 B
JSON
{
|
|
"__className__": "serverpod.DatabaseMigration",
|
|
"actions": [
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationAction",
|
|
"type": "alterTable",
|
|
"alterTable": {
|
|
"__className__": "serverpod.TableMigration",
|
|
"name": "studyset",
|
|
"schema": "public",
|
|
"addColumns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "deletedAt",
|
|
"fieldName": "deletedAt",
|
|
"columnType": 4,
|
|
"isNullable": true,
|
|
"dartType": "DateTime?"
|
|
}
|
|
],
|
|
"deleteColumns": [],
|
|
"modifyColumns": [],
|
|
"addIndexes": [],
|
|
"deleteIndexes": [],
|
|
"addForeignKeys": [],
|
|
"deleteForeignKeys": [],
|
|
"warnings": []
|
|
}
|
|
}
|
|
],
|
|
"warnings": [],
|
|
"migrationApiVersion": 1
|
|
} |