File tree Expand file tree Collapse file tree 2 files changed +41
-1
lines changed
docker-entrypoint-initdb.d Expand file tree Collapse file tree 2 files changed +41
-1
lines changed Original file line number Diff line number Diff line change @@ -53,7 +53,8 @@ CREATE TABLE public.togglz (
5353 feature_name character varying (100 ) NOT NULL ,
5454 feature_enabled integer ,
5555 strategy_id character varying (200 ),
56- strategy_params character varying (2000 )
56+ strategy_params character varying (2000 ),
57+ last_modified timestamp with time zone
5758);
5859
5960
@@ -181,6 +182,22 @@ OAUTH_DOMAINS_INTERSTITIAL 0 \N \N
181182ALTER TABLE ONLY public .togglz
182183 ADD CONSTRAINT togglz_pkey PRIMARY KEY (feature_name);
183184
185+ -- Backfill last_modified for initial data
186+ UPDATE public .togglz SET last_modified = NOW() WHERE last_modified IS NULL ;
187+
188+ -- Trigger to track last modification date on enable/disable
189+ CREATE OR REPLACE FUNCTION update_togglz_last_modified ()
190+ RETURNS TRIGGER AS $$
191+ BEGIN
192+ NEW .last_modified = NOW();
193+ RETURN NEW;
194+ END;
195+ $$ LANGUAGE plpgsql;
196+
197+ CREATE TRIGGER togglz_last_modified_trigger
198+ BEFORE INSERT OR UPDATE ON public .togglz
199+ FOR EACH ROW
200+ EXECUTE FUNCTION update_togglz_last_modified();
184201
185202--
186203-- Name: SCHEMA public; Type: ACL; Schema: -; Owner: postgres
Original file line number Diff line number Diff line change 1+ -- Migration: Add last_modified column to togglz table
2+ -- Run against the features database: psql -d features -f add_togglz_last_modified.sql
3+ -- Safe to run on DBs that already have this column (uses IF NOT EXISTS)
4+
5+ \c features
6+
7+ ALTER TABLE public .togglz ADD COLUMN IF NOT EXISTS last_modified timestamp with time zone ;
8+
9+ UPDATE public .togglz SET last_modified = NOW() WHERE last_modified IS NULL ;
10+
11+ CREATE OR REPLACE FUNCTION update_togglz_last_modified ()
12+ RETURNS TRIGGER AS $$
13+ BEGIN
14+ NEW .last_modified = NOW();
15+ RETURN NEW;
16+ END;
17+ $$ LANGUAGE plpgsql;
18+
19+ DROP TRIGGER IF EXISTS togglz_last_modified_trigger ON public .togglz ;
20+ CREATE TRIGGER togglz_last_modified_trigger
21+ BEFORE INSERT OR UPDATE ON public .togglz
22+ FOR EACH ROW
23+ EXECUTE FUNCTION update_togglz_last_modified();
You can’t perform that action at this time.
0 commit comments