mirror of
https://github.com/aljazceru/lspd.git
synced 2025-12-24 01:04:21 +01:00
Add data migrations
This commit is contained in:
21
postgresql/migrations/000008_one_record_per_channel.down.sql
Normal file
21
postgresql/migrations/000008_one_record_per_channel.down.sql
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
ALTER INDEX public.channels_nodeid_idx RENAME TO channels_new_nodeid_idx;
|
||||||
|
ALTER INDEX public.channels_channel_point_pkey RENAME TO channels_new_channel_point_pkey
|
||||||
|
ALTER TABLE public.channels RENAME TO channels_new;
|
||||||
|
|
||||||
|
CREATE TABLE public.channels (
|
||||||
|
chanid int8 NOT NULL,
|
||||||
|
channel_point varchar NULL,
|
||||||
|
nodeid bytea NULL,
|
||||||
|
last_update timestamp NULL,
|
||||||
|
CONSTRAINT chanid_pkey PRIMARY KEY (chanid)
|
||||||
|
);
|
||||||
|
CREATE INDEX channels_nodeid_idx ON public.channels USING btree (nodeid);
|
||||||
|
|
||||||
|
INSERT INTO public.channels
|
||||||
|
SELECT initial_chanid chanid, channel_point, nodeid, last_update FROM channels_new;
|
||||||
|
|
||||||
|
INSERT INTO public.channels
|
||||||
|
SELECT confirmed_chanid chanid, channel_point, nodeid, last_update FROM channels_new
|
||||||
|
WHERE confirmed_chanid IS NOT NULL AND confirmed_chanid <> initial_chanid;
|
||||||
|
|
||||||
|
DROP TABLE channels_new;
|
||||||
22
postgresql/migrations/000008_one_record_per_channel.up.sql
Normal file
22
postgresql/migrations/000008_one_record_per_channel.up.sql
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
ALTER INDEX public.channels_nodeid_idx RENAME TO channels_old_nodeid_idx;
|
||||||
|
ALTER INDEX public.chanid_pkey RENAME TO channels_old_chanid_pkey;
|
||||||
|
ALTER TABLE public.channels RENAME TO channels_old;
|
||||||
|
|
||||||
|
CREATE TABLE public.channels (
|
||||||
|
initial_chanid int8 NOT NULL,
|
||||||
|
confirmed_chanid int8 NULL,
|
||||||
|
channel_point varchar NOT NULL,
|
||||||
|
nodeid bytea NOT NULL,
|
||||||
|
last_update timestamp NULL,
|
||||||
|
CONSTRAINT channels_channel_point_pkey PRIMARY KEY (channel_point)
|
||||||
|
);
|
||||||
|
CREATE INDEX channels_nodeid_idx ON public.channels USING btree (nodeid);
|
||||||
|
|
||||||
|
INSERT INTO public.channels
|
||||||
|
SELECT
|
||||||
|
min(chanid) initial_chanid,
|
||||||
|
CASE WHEN (max(chanid) >> 40) < (3 << 17) THEN NULL ELSE max(chanid) END confirmed_chanid,
|
||||||
|
channel_point, nodeid, max(last_update) last_update
|
||||||
|
FROM channels_old GROUP BY channel_point, nodeid;
|
||||||
|
|
||||||
|
DROP TABLE public.channels_old;
|
||||||
Reference in New Issue
Block a user