Domain::Users::InkbunnyUser aux table migration

This commit is contained in:
Dylan Knutson
2025-07-18 19:44:27 +00:00
parent 0c5f6e84cb
commit ca7315c8ae
11 changed files with 264 additions and 62 deletions

View File

@@ -0,0 +1,51 @@
# typed: strict
# frozen_string_literal: true
class AddAuxTablesForDomainUsersIbUsers < ActiveRecord::Migration[7.2]
extend T::Sig
sig { void }
def change
mirai_tablespace!
create_aux_table :domain_users, :inkbunny do |t|
t.integer :ib_id, null: false, index: true
t.string :name, null: false, index: true
t.string :state, null: false
t.timestamp :scanned_gallery_at
t.references :deep_update_log_entry,
foreign_key: {
to_table: :http_log_entries,
}
t.references :shallow_update_log_entry,
foreign_key: {
to_table: :http_log_entries,
}
t.column :ib_detail_raw, :jsonb, default: {}
end
up_only { execute <<-SQL }
INSERT INTO domain_users_inkbunny_aux (
base_table_id,
ib_id,
name,
state,
scanned_gallery_at,
deep_update_log_entry_id,
shallow_update_log_entry_id,
ib_detail_raw
)
SELECT
id as base_table_id,
(json_attributes->>'ib_id')::integer as ib_id,
(json_attributes->>'name')::text as name,
(json_attributes->>'state')::text as state,
(json_attributes->>'scanned_gallery_at')::timestamp as scanned_gallery_at,
(json_attributes->>'deep_update_log_entry_id')::integer as deep_update_log_entry_id,
(json_attributes->>'shallow_update_log_entry_id')::integer as shallow_update_log_entry_id,
(json_attributes->>'ib_detail_raw')::jsonb as ib_detail_raw
FROM domain_users
WHERE type = 'Domain::User::InkbunnyUser'
SQL
end
end

View File

@@ -3312,6 +3312,41 @@ CREATE SEQUENCE public.domain_users_id_seq
ALTER SEQUENCE public.domain_users_id_seq OWNED BY public.domain_users.id;
--
-- Name: domain_users_inkbunny_aux; Type: TABLE; Schema: public; Owner: -; Tablespace: mirai
--
CREATE TABLE public.domain_users_inkbunny_aux (
base_table_id bigint NOT NULL,
ib_id integer NOT NULL,
name character varying NOT NULL,
state character varying NOT NULL,
scanned_gallery_at timestamp without time zone,
deep_update_log_entry_id bigint,
shallow_update_log_entry_id bigint,
ib_detail_raw jsonb DEFAULT '{}'::jsonb
);
--
-- Name: domain_users_inkbunny_aux_base_table_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.domain_users_inkbunny_aux_base_table_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: domain_users_inkbunny_aux_base_table_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.domain_users_inkbunny_aux_base_table_id_seq OWNED BY public.domain_users_inkbunny_aux.base_table_id;
SET default_tablespace = '';
--
@@ -4934,6 +4969,13 @@ ALTER TABLE ONLY public.domain_user_search_names ALTER COLUMN id SET DEFAULT nex
ALTER TABLE ONLY public.domain_users ALTER COLUMN id SET DEFAULT nextval('public.domain_users_id_seq'::regclass);
--
-- Name: domain_users_inkbunny_aux base_table_id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.domain_users_inkbunny_aux ALTER COLUMN base_table_id SET DEFAULT nextval('public.domain_users_inkbunny_aux_base_table_id_seq'::regclass);
--
-- Name: global_states id; Type: DEFAULT; Schema: public; Owner: -
--
@@ -5766,6 +5808,14 @@ ALTER TABLE ONLY public.domain_user_search_names
ADD CONSTRAINT domain_user_search_names_pkey PRIMARY KEY (id);
--
-- Name: domain_users_inkbunny_aux domain_users_inkbunny_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: mirai
--
ALTER TABLE ONLY public.domain_users_inkbunny_aux
ADD CONSTRAINT domain_users_inkbunny_aux_pkey PRIMARY KEY (base_table_id);
--
-- Name: domain_users domain_users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: mirai
--
@@ -7700,6 +7750,41 @@ CREATE UNIQUE INDEX index_domain_user_user_follows_on_from_id_and_to_id ON publi
CREATE INDEX index_domain_user_user_follows_on_to_id_and_from_id ON public.domain_user_user_follows USING btree (to_id, from_id);
--
-- Name: index_domain_users_inkbunny_aux_on_base_table_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_inkbunny_aux_on_base_table_id ON public.domain_users_inkbunny_aux USING btree (base_table_id);
--
-- Name: index_domain_users_inkbunny_aux_on_deep_update_log_entry_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_inkbunny_aux_on_deep_update_log_entry_id ON public.domain_users_inkbunny_aux USING btree (deep_update_log_entry_id);
--
-- Name: index_domain_users_inkbunny_aux_on_ib_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_inkbunny_aux_on_ib_id ON public.domain_users_inkbunny_aux USING btree (ib_id);
--
-- Name: index_domain_users_inkbunny_aux_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_inkbunny_aux_on_name ON public.domain_users_inkbunny_aux USING btree (name);
--
-- Name: index_domain_users_inkbunny_aux_on_shallow_update_log_entry_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_inkbunny_aux_on_shallow_update_log_entry_id ON public.domain_users_inkbunny_aux USING btree (shallow_update_log_entry_id);
--
-- Name: index_domain_users_on_type; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
@@ -8962,6 +9047,14 @@ ALTER TABLE ONLY public.domain_fa_follows
ADD CONSTRAINT fk_rails_175679b7a2 FOREIGN KEY (followed_id) REFERENCES public.domain_fa_users(id);
--
-- Name: domain_users_inkbunny_aux fk_rails_205f95e7f6; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.domain_users_inkbunny_aux
ADD CONSTRAINT fk_rails_205f95e7f6 FOREIGN KEY (shallow_update_log_entry_id) REFERENCES public.http_log_entries(id);
--
-- Name: domain_post_group_joins fk_rails_22154fb920; Type: FK CONSTRAINT; Schema: public; Owner: -
--
@@ -8994,6 +9087,14 @@ ALTER TABLE ONLY public.domain_fa_user_avatars
ADD CONSTRAINT fk_rails_2a03f31297 FOREIGN KEY (log_entry_id) REFERENCES public.http_log_entries(id);
--
-- Name: domain_users_inkbunny_aux fk_rails_304ea0307f; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.domain_users_inkbunny_aux
ADD CONSTRAINT fk_rails_304ea0307f FOREIGN KEY (base_table_id) REFERENCES public.domain_users(id);
--
-- Name: domain_inkbunny_files fk_rails_31a33e433e; Type: FK CONSTRAINT; Schema: public; Owner: -
--
@@ -9194,6 +9295,14 @@ ALTER TABLE ONLY public.domain_post_files_inkbunny_aux
ADD CONSTRAINT fk_rails_b4f96e5241 FOREIGN KEY (base_table_id) REFERENCES public.domain_post_files(id);
--
-- Name: domain_users_inkbunny_aux fk_rails_c2d597dcc4; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.domain_users_inkbunny_aux
ADD CONSTRAINT fk_rails_c2d597dcc4 FOREIGN KEY (deep_update_log_entry_id) REFERENCES public.http_log_entries(id);
--
-- Name: domain_inkbunny_posts fk_rails_c2d9f4b382; Type: FK CONSTRAINT; Schema: public; Owner: -
--
@@ -9329,6 +9438,7 @@ ALTER TABLE ONLY public.domain_twitter_tweets
SET search_path TO "$user", public;
INSERT INTO "schema_migrations" (version) VALUES
('20250718165332'),
('20250718162608'),
('20250717204152'),
('20250716164417'),