create table if not exists plays ( "json" text unique on conflict ignore, "posted" integer check ("posted" in (0, 1)) ); create index if not exists nonposted_plays on plays(posted) where posted = 0; create table if not exists highlights ( "json" text unique on conflict ignore, "posted" integer check ("posted" in (0, 1)) ); create index if not exists nonposted_highlights on highlights(posted) where posted = 0; create table if not exists games ( "json" text unique on conflict ignore, "posted" integer check ("posted" in (0, 1)) ); create index if not exists nonposted_games on games(posted) where posted = 0; create trigger if not exists delete_old_states before insert on games begin delete from games where json ->> 'gamePk' = new.json ->> 'gamePk' and json ->> 'status' ->> 'detailedState' != new.json ->> 'status' ->> 'detailedState'; end;