An engine does not edit a trigger: it is dropped and made again. That is what happens here, against the same row, so the object keeps its id and its history. A definition that will not compile is refused before anything is dropped.Capability:migration:write (area resource, on the database).