Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Generated by Django on 2025-12-09
# Fix for TriggeredDataChangeViolation: convert BEFORE trigger to AFTER trigger
# BEFORE triggers cannot modify the same table they are triggered on

from django.db import migrations


class Migration(migrations.Migration):
dependencies = [
("legacy_migrations", "0010_fix_owners_trigger_self_modification"),
]

operations = [
migrations.RunSQL(
"""
-- Drop existing BEFORE triggers
drop trigger if exists owners_before_insert on owners;
drop trigger if exists owners_before_update on owners;

-- Recreate as AFTER triggers (function name unchanged, behavior is the same)
create trigger owners_after_insert after insert on owners
for each row
execute procedure owners_before_insert_or_update();

create trigger owners_after_update after update on owners
for each row
when (new.username is not null and new.username is distinct from old.username)
execute procedure owners_before_insert_or_update();
"""
),
]
Loading