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:
6
app/models/upload_media_asset.rb
Normal file
6
app/models/upload_media_asset.rb
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class UploadMediaAsset < ApplicationRecord
|
||||||
|
belongs_to :upload
|
||||||
|
belongs_to :media_asset
|
||||||
|
end
|
||||||
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;
|
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: -
|
-- 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);
|
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: -
|
-- Name: uploads id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
@@ -2964,6 +3003,14 @@ ALTER TABLE ONLY public.tags
|
|||||||
ADD CONSTRAINT tags_pkey PRIMARY KEY (id);
|
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: -
|
-- 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);
|
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: -
|
-- 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;
|
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: -
|
-- 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;
|
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: -
|
-- Name: user_upgrades fk_rails_f9349ed07b; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
@@ -5697,6 +5774,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
|||||||
('20220110171022'),
|
('20220110171022'),
|
||||||
('20220110171023'),
|
('20220110171023'),
|
||||||
('20220110171024'),
|
('20220110171024'),
|
||||||
('20220120233850');
|
('20220120233850'),
|
||||||
|
('20220124195900');
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user