"""tiktok_triggers Revision ID: fbc793d8dc22 Revises: 3983c20529f2 Create Date: 2019-08-14 11:45:58.947361 """ # revision identifiers, used by Alembic. revision = 'fbc793d8dc22' down_revision = '3983c20529f2' branch_labels = None depends_on = None from alembic import op import sqlalchemy as sa def upgrade(): op.execute(''' create function trig_tiktok_sounds_stats() returns trigger language plpgsql as $$ BEGIN IF ( ((TG_OP = 'INSERT') OR (TG_OP = 'UPDATE')) and NEW.last_posts > 0) THEN INSERT INTO tiktok_sound_stats (ttid, as_of, posts) VALUES (NEW.ttid, current_date, NEW.last_posts) on conflict (ttid, as_of) do nothing; END IF; RETURN NEW; END; $$; create trigger insert_tiktok_sound after insert on tiktok_sounds for each row execute procedure trig_tiktok_sounds_stats(); create trigger update_tiktok_sound after update on tiktok_sounds for each row execute procedure trig_tiktok_sounds_stats(); ''') def downgrade(): op.execute('''drop trigger update_tiktok_sound on tiktok_sounds''') op.execute('''drop trigger insert_tiktok_sound on tiktok_sounds''') op.execute('''drop function trig_tiktok_sounds_stats()''')