Opened 7 years ago
Closed 5 years ago
#29377 closed New feature (wontfix)
DatabaseSchemaEditor: add a hook to run DML statements after the entire schema is created
Reported by: | Maximiliano Robaina | Owned by: | nobody |
---|---|---|---|
Component: | Migrations | Version: | 2.0 |
Severity: | Normal | Keywords: | |
Cc: | Maximiliano Robaina, Simon Charette | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
A nice option would be to have a hook to run DML statements after all migrations were applied and commited.
A uses case (for example in Firebird SQL) is to add a new field on already existing and populated table. Is not enough set and drop a default value, we need to update the new field with efective default value. It is not possible without commit the schema alteration.
An aproach could be to have a kind of hook to run sql statements (DML statement in this case) when the schema altereation finished (and commited). Of course, must bu runned in another transaction.
This feature request is to better support of third-party database backends.
Change History (5)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Tim,
It's a different issue. May be I need to write It better.
In this case is just for run a DML statement after all migrations were applied (and commited). About change of defaults values that I mencioned is just an uses case.
comment:3 by , 7 years ago
Cc: | added |
---|---|
Description: | modified (diff) |
comment:4 by , 7 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:5 by , 5 years ago
Cc: | added |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
Any reason why a post_migrate
receiver cannot be used for this purpose?
The schema editor and migration logic are decoupled for a good reason and adding such a hook would introduce bidirectional coupling between the two components.
I'll close as wontfix for the above reasons.
Did you forgot about #26399 that you created or is this is a different issue?