fix migration... again...
This commit is contained in:
45
migrations/versions/fix_updated_at_trigger.py
Normal file
45
migrations/versions/fix_updated_at_trigger.py
Normal file
@@ -0,0 +1,45 @@
|
||||
"""fix updated_at trigger
|
||||
|
||||
Revision ID: fix_updated_at_trigger
|
||||
Revises: add_status_details
|
||||
Create Date: 2024-03-19 12:00:00.000000
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import text
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = 'fix_updated_at_trigger'
|
||||
down_revision = 'add_status_details'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
def upgrade():
|
||||
# Drop the existing trigger if it exists
|
||||
op.execute("DROP TRIGGER IF EXISTS update_instances_updated_at ON instances")
|
||||
op.execute("DROP FUNCTION IF EXISTS update_updated_at_column()")
|
||||
|
||||
# Create the trigger function
|
||||
op.execute("""
|
||||
CREATE OR REPLACE FUNCTION update_updated_at_column()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ language 'plpgsql';
|
||||
""")
|
||||
|
||||
# Create the trigger
|
||||
op.execute("""
|
||||
CREATE TRIGGER update_instances_updated_at
|
||||
BEFORE UPDATE ON instances
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_updated_at_column();
|
||||
""")
|
||||
|
||||
def downgrade():
|
||||
# Drop the trigger and function
|
||||
op.execute("DROP TRIGGER IF EXISTS update_instances_updated_at ON instances")
|
||||
op.execute("DROP FUNCTION IF EXISTS update_updated_at_column()")
|
||||
Reference in New Issue
Block a user