Domain::Users::E621User aux table migration

This commit is contained in:
Dylan Knutson
2025-07-18 21:58:45 +00:00
parent ca7315c8ae
commit 598ffe8dbf
13 changed files with 3201 additions and 71 deletions

View File

@@ -0,0 +1,42 @@
# typed: strict
# frozen_string_literal: true
class AddAuxTablesForDomainUsersE621Users < ActiveRecord::Migration[7.2]
extend T::Sig
sig { void }
def change
mirai_tablespace!
create_aux_table :domain_users, :e621 do |t|
t.integer :e621_id, null: false, index: true
t.string :name, null: false, index: true
t.boolean :favs_are_hidden
t.integer :num_other_favs_cached
t.string :scanned_favs_status
t.datetime :registered_at
end
up_only { execute <<-SQL }
INSERT INTO domain_users_e621_aux (
base_table_id,
e621_id,
name,
favs_are_hidden,
num_other_favs_cached,
scanned_favs_status,
registered_at
)
SELECT
id as base_table_id,
(json_attributes->>'e621_id')::integer as e621_id,
(json_attributes->>'name')::text as name,
(json_attributes->>'favs_are_hidden')::boolean as favs_are_hidden,
(json_attributes->>'num_other_favs_cached')::integer as num_other_favs_cached,
(json_attributes->>'scanned_favs_status')::text as scanned_favs_status,
(json_attributes->>'registered_at')::timestamp as registered_at
FROM domain_users
WHERE type = 'Domain::User::E621User'
SQL
end
end

View File

@@ -3293,6 +3293,40 @@ CREATE TABLE public.domain_users (
);
--
-- Name: domain_users_e621_aux; Type: TABLE; Schema: public; Owner: -; Tablespace: mirai
--
CREATE TABLE public.domain_users_e621_aux (
base_table_id bigint NOT NULL,
e621_id integer NOT NULL,
name character varying NOT NULL,
favs_are_hidden boolean,
num_other_favs_cached integer,
scanned_favs_status character varying,
registered_at timestamp(6) without time zone
);
--
-- Name: domain_users_e621_aux_base_table_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.domain_users_e621_aux_base_table_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: domain_users_e621_aux_base_table_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.domain_users_e621_aux_base_table_id_seq OWNED BY public.domain_users_e621_aux.base_table_id;
--
-- Name: domain_users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
@@ -4969,6 +5003,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_e621_aux base_table_id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.domain_users_e621_aux ALTER COLUMN base_table_id SET DEFAULT nextval('public.domain_users_e621_aux_base_table_id_seq'::regclass);
--
-- Name: domain_users_inkbunny_aux base_table_id; Type: DEFAULT; Schema: public; Owner: -
--
@@ -5808,6 +5849,14 @@ ALTER TABLE ONLY public.domain_user_search_names
ADD CONSTRAINT domain_user_search_names_pkey PRIMARY KEY (id);
--
-- Name: domain_users_e621_aux domain_users_e621_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: mirai
--
ALTER TABLE ONLY public.domain_users_e621_aux
ADD CONSTRAINT domain_users_e621_aux_pkey PRIMARY KEY (base_table_id);
--
-- Name: domain_users_inkbunny_aux domain_users_inkbunny_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: mirai
--
@@ -7750,6 +7799,27 @@ 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_e621_aux_on_base_table_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_e621_aux_on_base_table_id ON public.domain_users_e621_aux USING btree (base_table_id);
--
-- Name: index_domain_users_e621_aux_on_e621_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_e621_aux_on_e621_id ON public.domain_users_e621_aux USING btree (e621_id);
--
-- Name: index_domain_users_e621_aux_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
CREATE INDEX index_domain_users_e621_aux_on_name ON public.domain_users_e621_aux USING btree (name);
--
-- Name: index_domain_users_inkbunny_aux_on_base_table_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
--
@@ -9295,6 +9365,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_e621_aux fk_rails_b5bacbced6; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.domain_users_e621_aux
ADD CONSTRAINT fk_rails_b5bacbced6 FOREIGN KEY (base_table_id) REFERENCES public.domain_users(id);
--
-- Name: domain_users_inkbunny_aux fk_rails_c2d597dcc4; Type: FK CONSTRAINT; Schema: public; Owner: -
--
@@ -9438,6 +9516,7 @@ ALTER TABLE ONLY public.domain_twitter_tweets
SET search_path TO "$user", public;
INSERT INTO "schema_migrations" (version) VALUES
('20250718195345'),
('20250718165332'),
('20250718162608'),
('20250717204152'),