Domain::Users::FaUser aux table migration
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
# typed: strict
|
||||
|
||||
class AddAuxTablesForDomainUsersFaUsers < ActiveRecord::Migration[7.2]
|
||||
sig { void }
|
||||
def change
|
||||
mirai_tablespace!
|
||||
|
||||
create_aux_table(:domain_users, :fa) do |t|
|
||||
t.string :state
|
||||
t.string :name
|
||||
t.string :url_name
|
||||
t.string :full_name
|
||||
t.string :account_status
|
||||
t.string :artist_type
|
||||
t.string :mood
|
||||
t.string :profile_html
|
||||
# # num_* are those indicated on the user page
|
||||
t.integer :num_pageviews
|
||||
t.integer :num_submissions
|
||||
t.integer :num_comments_recieved
|
||||
t.integer :num_comments_given
|
||||
t.integer :num_journals
|
||||
t.integer :num_favorites
|
||||
t.integer :num_watched_by
|
||||
t.integer :num_watching
|
||||
t.datetime :scanned_gallery_at
|
||||
t.datetime :scanned_page_at
|
||||
t.datetime :scanned_follows_at
|
||||
t.datetime :scanned_followed_by_at
|
||||
t.datetime :scanned_incremental_at
|
||||
t.datetime :registered_at
|
||||
t.datetime :migrated_followed_users_at
|
||||
t.references :last_user_page, foreign_key: { to_table: :http_log_entries }
|
||||
t.references :last_gallery_page,
|
||||
foreign_key: {
|
||||
to_table: :http_log_entries,
|
||||
}
|
||||
t.string :page_scan_error
|
||||
t.boolean :is_disabled
|
||||
end
|
||||
|
||||
up_only { execute <<-SQL }
|
||||
INSERT INTO domain_users_fa_aux (
|
||||
base_table_id,
|
||||
state,
|
||||
name,
|
||||
url_name,
|
||||
full_name,
|
||||
account_status,
|
||||
artist_type,
|
||||
mood,
|
||||
profile_html,
|
||||
num_pageviews,
|
||||
num_submissions,
|
||||
num_comments_recieved,
|
||||
num_comments_given,
|
||||
num_journals,
|
||||
num_favorites,
|
||||
num_watched_by,
|
||||
num_watching,
|
||||
scanned_gallery_at,
|
||||
scanned_page_at,
|
||||
scanned_follows_at,
|
||||
scanned_followed_by_at,
|
||||
scanned_incremental_at,
|
||||
registered_at,
|
||||
migrated_followed_users_at,
|
||||
last_user_page_id,
|
||||
last_gallery_page_id,
|
||||
page_scan_error,
|
||||
is_disabled
|
||||
)
|
||||
SELECT
|
||||
id as base_table_id,
|
||||
(json_attributes->>'state')::text as state,
|
||||
(json_attributes->>'name')::text as name,
|
||||
(json_attributes->>'url_name')::text as url_name,
|
||||
(json_attributes->>'full_name')::text as full_name,
|
||||
(json_attributes->>'account_status')::text as account_status,
|
||||
(json_attributes->>'artist_type')::text as artist_type,
|
||||
(json_attributes->>'mood')::text as mood,
|
||||
(json_attributes->>'profile_html')::text as profile_html,
|
||||
(json_attributes->>'num_pageviews')::integer as num_pageviews,
|
||||
(json_attributes->>'num_submissions')::integer as num_submissions,
|
||||
(json_attributes->>'num_comments_recieved')::integer as num_comments_recieved,
|
||||
(json_attributes->>'num_comments_given')::integer as num_comments_given,
|
||||
(json_attributes->>'num_journals')::integer as num_journals,
|
||||
(json_attributes->>'num_favorites')::integer as num_favorites,
|
||||
(json_attributes->>'num_watched_by')::integer as num_watched_by,
|
||||
(json_attributes->>'num_watching')::integer as num_watching,
|
||||
(json_attributes->>'scanned_gallery_at')::timestamp as scanned_gallery_at,
|
||||
(json_attributes->>'scanned_page_at')::timestamp as scanned_page_at,
|
||||
(json_attributes->>'scanned_follows_at')::timestamp as scanned_follows_at,
|
||||
(json_attributes->>'scanned_followed_by_at')::timestamp as scanned_followed_by_at,
|
||||
(json_attributes->>'scanned_incremental_at')::timestamp as scanned_incremental_at,
|
||||
(json_attributes->>'registered_at')::timestamp as registered_at,
|
||||
(json_attributes->>'migrated_followed_users_at')::timestamp as migrated_followed_users_at,
|
||||
(json_attributes->>'last_user_page_id')::integer as last_user_page_id,
|
||||
(json_attributes->>'last_gallery_page_id')::integer as last_gallery_page_id,
|
||||
(json_attributes->>'page_scan_error')::text as page_scan_error,
|
||||
(json_attributes->>'is_disabled')::boolean as is_disabled
|
||||
FROM domain_users
|
||||
WHERE type = 'Domain::User::FaUser'
|
||||
SQL
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,9 @@
|
||||
class AddUrlStrLowerIndexToDomainPostFiles < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
mirai_tablespace!
|
||||
|
||||
add_index :domain_post_files,
|
||||
"lower('url_str') text_pattern_ops",
|
||||
name: "idx_domain_post_files_on_url_str_lower"
|
||||
end
|
||||
end
|
||||
124
db/structure.sql
124
db/structure.sql
@@ -3327,6 +3327,61 @@ CREATE SEQUENCE public.domain_users_e621_aux_base_table_id_seq
|
||||
ALTER SEQUENCE public.domain_users_e621_aux_base_table_id_seq OWNED BY public.domain_users_e621_aux.base_table_id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux; Type: TABLE; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
|
||||
CREATE TABLE public.domain_users_fa_aux (
|
||||
base_table_id bigint NOT NULL,
|
||||
state character varying,
|
||||
name character varying,
|
||||
url_name character varying,
|
||||
full_name character varying,
|
||||
account_status character varying,
|
||||
artist_type character varying,
|
||||
mood character varying,
|
||||
profile_html character varying,
|
||||
num_pageviews integer,
|
||||
num_submissions integer,
|
||||
num_comments_recieved integer,
|
||||
num_comments_given integer,
|
||||
num_journals integer,
|
||||
num_favorites integer,
|
||||
num_watched_by integer,
|
||||
num_watching integer,
|
||||
scanned_gallery_at timestamp(6) without time zone,
|
||||
scanned_page_at timestamp(6) without time zone,
|
||||
scanned_follows_at timestamp(6) without time zone,
|
||||
scanned_followed_by_at timestamp(6) without time zone,
|
||||
scanned_incremental_at timestamp(6) without time zone,
|
||||
registered_at timestamp(6) without time zone,
|
||||
migrated_followed_users_at timestamp(6) without time zone,
|
||||
last_user_page_id bigint,
|
||||
last_gallery_page_id bigint,
|
||||
page_scan_error character varying,
|
||||
is_disabled boolean
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux_base_table_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE SEQUENCE public.domain_users_fa_aux_base_table_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux_base_table_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE public.domain_users_fa_aux_base_table_id_seq OWNED BY public.domain_users_fa_aux.base_table_id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
@@ -5010,6 +5065,13 @@ ALTER TABLE ONLY public.domain_users ALTER COLUMN id SET DEFAULT nextval('public
|
||||
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_fa_aux base_table_id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.domain_users_fa_aux ALTER COLUMN base_table_id SET DEFAULT nextval('public.domain_users_fa_aux_base_table_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_inkbunny_aux base_table_id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -5857,6 +5919,14 @@ ALTER TABLE ONLY public.domain_users_e621_aux
|
||||
ADD CONSTRAINT domain_users_e621_aux_pkey PRIMARY KEY (base_table_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux domain_users_fa_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.domain_users_fa_aux
|
||||
ADD CONSTRAINT domain_users_fa_aux_pkey PRIMARY KEY (base_table_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_inkbunny_aux domain_users_inkbunny_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
@@ -6087,6 +6157,13 @@ CREATE UNIQUE INDEX idx_domain_inkbunny_users_on_ib_id ON public.domain_users US
|
||||
CREATE UNIQUE INDEX idx_domain_inkbunny_users_on_name ON public.domain_users USING btree (((json_attributes ->> 'name'::text))) WHERE (type = 'Domain::User::InkbunnyUser'::public.domain_user_type);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_domain_post_files_on_url_str_lower; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
|
||||
CREATE INDEX idx_domain_post_files_on_url_str_lower ON public.domain_post_files USING btree (lower('url_str'::text) text_pattern_ops);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_domain_post_groups_on_owner_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
@@ -7820,6 +7897,27 @@ CREATE INDEX index_domain_users_e621_aux_on_e621_id ON public.domain_users_e621_
|
||||
CREATE INDEX index_domain_users_e621_aux_on_name ON public.domain_users_e621_aux USING btree (name);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_domain_users_fa_aux_on_base_table_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
|
||||
CREATE INDEX index_domain_users_fa_aux_on_base_table_id ON public.domain_users_fa_aux USING btree (base_table_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_domain_users_fa_aux_on_last_gallery_page_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
|
||||
CREATE INDEX index_domain_users_fa_aux_on_last_gallery_page_id ON public.domain_users_fa_aux USING btree (last_gallery_page_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_domain_users_fa_aux_on_last_user_page_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
|
||||
CREATE INDEX index_domain_users_fa_aux_on_last_user_page_id ON public.domain_users_fa_aux USING btree (last_user_page_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_domain_users_inkbunny_aux_on_base_table_id; Type: INDEX; Schema: public; Owner: -; Tablespace: mirai
|
||||
--
|
||||
@@ -9077,6 +9175,14 @@ ALTER TABLE ONLY public.domain_e621_favs
|
||||
ADD CONSTRAINT fk_rails_0b7ec98aa2 FOREIGN KEY (post_id) REFERENCES public.domain_e621_posts(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux fk_rails_0d64d940cf; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.domain_users_fa_aux
|
||||
ADD CONSTRAINT fk_rails_0d64d940cf FOREIGN KEY (base_table_id) REFERENCES public.domain_users(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_user_job_event_add_tracked_objects fk_rails_0e1b667c4a; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -9269,6 +9375,14 @@ ALTER TABLE ONLY public.domain_fa_user_avatar_versions
|
||||
ADD CONSTRAINT fk_rails_77fefb9ac3 FOREIGN KEY (item_id) REFERENCES public.domain_fa_user_avatars(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux fk_rails_7e51f8bfbc; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.domain_users_fa_aux
|
||||
ADD CONSTRAINT fk_rails_7e51f8bfbc FOREIGN KEY (last_gallery_page_id) REFERENCES public.http_log_entries(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_post_files fk_rails_7eb6ae5fa3; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -9405,6 +9519,14 @@ ALTER TABLE ONLY public.http_log_entries
|
||||
ADD CONSTRAINT fk_rails_c5f7bcff78 FOREIGN KEY (caused_by_id) REFERENCES public.http_log_entries(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_users_fa_aux fk_rails_c6ff2c94b5; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.domain_users_fa_aux
|
||||
ADD CONSTRAINT fk_rails_c6ff2c94b5 FOREIGN KEY (last_user_page_id) REFERENCES public.http_log_entries(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: domain_user_post_favs fk_rails_c79733f291; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -9516,6 +9638,8 @@ ALTER TABLE ONLY public.domain_twitter_tweets
|
||||
SET search_path TO "$user", public;
|
||||
|
||||
INSERT INTO "schema_migrations" (version) VALUES
|
||||
('20250721171216'),
|
||||
('20250718220223'),
|
||||
('20250718195345'),
|
||||
('20250718165332'),
|
||||
('20250718162608'),
|
||||
|
||||
Reference in New Issue
Block a user