Skip to content

Commit d019191

Browse files
committed
docs: add cascade delete design decision to multi-backend plan
DataJoint keeps its custom cascade delete implementation rather than using native ON DELETE CASCADE for dry-run capability and to handle complex foreign key graphs with converging/diverging references.
1 parent cc99867 commit d019191

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

docs/design/multi-backend-plan.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ Replaced MySQL-specific `NOW()` with standard SQL `CURRENT_TIMESTAMP` in:
145145
| **datetime (not timestamp)** | Matches Python naming; familiar to scientists; avoids MySQL/PG timestamp confusion |
146146
| **json → jsonb on PostgreSQL** | Better performance and indexing; key order not guaranteed by JSON spec anyway |
147147
| **int8 → smallint on PostgreSQL** | PostgreSQL lacks tinyint; smallint is semantically equivalent (small integer) |
148+
| **Custom cascade delete** | DataJoint implements its own cascade delete (not `ON DELETE CASCADE`) to provide dry-run capability and handle complex foreign key graphs with converging/diverging references. This also ensures consistent behavior across backends. |
148149

149150
---
150151

0 commit comments

Comments
 (0)