uploads: add upload_media_assets table.
Add a join table that allows multiple media assets (images or videos) to be attached to uploads. This is for a future ability to upload multiple files at once.
This commit is contained in:
12
db/migrate/20220124195900_add_upload_media_assets.rb
Normal file
12
db/migrate/20220124195900_add_upload_media_assets.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
class AddUploadMediaAssets < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
create_table :upload_media_assets do |t|
|
||||
t.timestamps null: false
|
||||
t.belongs_to :upload, null: false
|
||||
t.belongs_to :media_asset, null: false
|
||||
end
|
||||
|
||||
add_foreign_key :upload_media_assets, :uploads, deferrable: :deferred
|
||||
add_foreign_key :upload_media_assets, :media_assets, deferrable: :deferred
|
||||
end
|
||||
end
|
||||
@@ -1906,6 +1906,38 @@ CREATE SEQUENCE public.tags_id_seq
|
||||
ALTER SEQUENCE public.tags_id_seq OWNED BY public.tags.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.upload_media_assets (
|
||||
id bigint NOT NULL,
|
||||
created_at timestamp(6) without time zone NOT NULL,
|
||||
updated_at timestamp(6) without time zone NOT NULL,
|
||||
upload_id bigint NOT NULL,
|
||||
media_asset_id bigint NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE SEQUENCE public.upload_media_assets_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE public.upload_media_assets_id_seq OWNED BY public.upload_media_assets.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: uploads; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
@@ -2517,6 +2549,13 @@ ALTER TABLE ONLY public.tag_implications ALTER COLUMN id SET DEFAULT nextval('pu
|
||||
ALTER TABLE ONLY public.tags ALTER COLUMN id SET DEFAULT nextval('public.tags_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.upload_media_assets ALTER COLUMN id SET DEFAULT nextval('public.upload_media_assets_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: uploads id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -2964,6 +3003,14 @@ ALTER TABLE ONLY public.tags
|
||||
ADD CONSTRAINT tags_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets upload_media_assets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.upload_media_assets
|
||||
ADD CONSTRAINT upload_media_assets_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: uploads uploads_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -4493,6 +4540,20 @@ CREATE INDEX index_tags_on_name_trgm ON public.tags USING gin (name public.gin_t
|
||||
CREATE INDEX index_tags_on_post_count ON public.tags USING btree (post_count);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_upload_media_assets_on_media_asset_id; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX index_upload_media_assets_on_media_asset_id ON public.upload_media_assets USING btree (media_asset_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_upload_media_assets_on_upload_id; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX index_upload_media_assets_on_upload_id ON public.upload_media_assets USING btree (upload_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_uploads_on_referer_url; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
@@ -4806,6 +4867,14 @@ ALTER TABLE ONLY public.uploads
|
||||
ADD CONSTRAINT fk_rails_127111e6ac FOREIGN KEY (post_id) REFERENCES public.posts(id) DEFERRABLE INITIALLY DEFERRED NOT VALID;
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets fk_rails_171271f781; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.upload_media_assets
|
||||
ADD CONSTRAINT fk_rails_171271f781 FOREIGN KEY (upload_id) REFERENCES public.uploads(id) DEFERRABLE INITIALLY DEFERRED;
|
||||
|
||||
|
||||
--
|
||||
-- Name: bulk_update_requests fk_rails_1773ada54d; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -5414,6 +5483,14 @@ ALTER TABLE ONLY public.post_votes
|
||||
ADD CONSTRAINT fk_rails_f3edc07390 FOREIGN KEY (user_id) REFERENCES public.users(id) DEFERRABLE INITIALLY DEFERRED;
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_media_assets fk_rails_f6bce0ea3f; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.upload_media_assets
|
||||
ADD CONSTRAINT fk_rails_f6bce0ea3f FOREIGN KEY (media_asset_id) REFERENCES public.media_assets(id) DEFERRABLE INITIALLY DEFERRED;
|
||||
|
||||
|
||||
--
|
||||
-- Name: user_upgrades fk_rails_f9349ed07b; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
@@ -5697,6 +5774,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
||||
('20220110171022'),
|
||||
('20220110171023'),
|
||||
('20220110171024'),
|
||||
('20220120233850');
|
||||
('20220120233850'),
|
||||
('20220124195900');
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user