mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-27 13:47:58 +01:00
first ecto migration, add sources table per #101
This commit is contained in:
parent
c8aa5bba72
commit
46ab13261c
4 changed files with 112 additions and 2 deletions
|
@ -59,8 +59,6 @@ config :philomena, PhilomenaWeb.Endpoint,
|
|||
secret_key_base: "xZYTon09JNRrj8snd7KL31wya4x71jmo5aaSSRmw1dGjWLRmEwWMTccwxgsGFGjM",
|
||||
render_errors: [view: PhilomenaWeb.ErrorView, accepts: ~w(html json)]
|
||||
|
||||
config :philomena, :generators, migration: false
|
||||
|
||||
config :phoenix, :template_engines,
|
||||
slim: PhoenixSlime.Engine,
|
||||
slime: PhoenixSlime.Engine,
|
||||
|
|
15
lib/philomena/images/source.ex
Normal file
15
lib/philomena/images/source.ex
Normal file
|
@ -0,0 +1,15 @@
|
|||
defmodule Philomena.Images.Source do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
|
||||
schema "image_sources" do
|
||||
timestamps()
|
||||
end
|
||||
|
||||
@doc false
|
||||
def changeset(source, attrs) do
|
||||
source
|
||||
|> cast(attrs, [])
|
||||
|> validate_required([])
|
||||
end
|
||||
end
|
16
priv/repo/migrations/20200503002523_create_image_sources.exs
Normal file
16
priv/repo/migrations/20200503002523_create_image_sources.exs
Normal file
|
@ -0,0 +1,16 @@
|
|||
defmodule Philomena.Repo.Migrations.CreateImageSources do
|
||||
use Ecto.Migration
|
||||
|
||||
def change do
|
||||
create table(:image_sources) do
|
||||
add :image_id, references(:images), null: false
|
||||
add :source, :text, null: false
|
||||
end
|
||||
|
||||
create unique_index("image_sources", [:image_id, :source])
|
||||
|
||||
create constraint("image_sources", "length_must_be_valid",
|
||||
check: "length(source) between 8 and 1024"
|
||||
)
|
||||
end
|
||||
end
|
|
@ -788,6 +788,37 @@ CREATE SEQUENCE public.image_intensities_id_seq
|
|||
ALTER SEQUENCE public.image_intensities_id_seq OWNED BY public.image_intensities.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.image_sources (
|
||||
id bigint NOT NULL,
|
||||
image_id bigint NOT NULL,
|
||||
source text NOT NULL,
|
||||
CONSTRAINT length_must_be_valid CHECK (((length(source) >= 8) AND (length(source) <= 1024)))
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE SEQUENCE public.image_sources_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE public.image_sources_id_seq OWNED BY public.image_sources.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_subscriptions; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -1237,6 +1268,16 @@ CREATE SEQUENCE public.roles_id_seq
|
|||
ALTER SEQUENCE public.roles_id_seq OWNED BY public.roles.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.schema_migrations (
|
||||
version bigint NOT NULL,
|
||||
inserted_at timestamp(0) without time zone
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: site_notices; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -2139,6 +2180,13 @@ ALTER TABLE ONLY public.image_features ALTER COLUMN id SET DEFAULT nextval('publ
|
|||
ALTER TABLE ONLY public.image_intensities ALTER COLUMN id SET DEFAULT nextval('public.image_intensities_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.image_sources ALTER COLUMN id SET DEFAULT nextval('public.image_sources_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: images id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -2487,6 +2535,14 @@ ALTER TABLE ONLY public.image_intensities
|
|||
ADD CONSTRAINT image_intensities_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources image_sources_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.image_sources
|
||||
ADD CONSTRAINT image_sources_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: images images_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -2567,6 +2623,14 @@ ALTER TABLE ONLY public.roles
|
|||
ADD CONSTRAINT roles_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.schema_migrations
|
||||
ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);
|
||||
|
||||
|
||||
--
|
||||
-- Name: site_notices site_notices_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -2718,6 +2782,13 @@ ALTER TABLE ONLY public.versions
|
|||
CREATE INDEX image_intensities_index ON public.image_intensities USING btree (nw, ne, sw, se);
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources_image_id_source_index; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE UNIQUE INDEX image_sources_image_id_source_index ON public.image_sources USING btree (image_id, source);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_adverts_on_live; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -4630,7 +4701,17 @@ ALTER TABLE ONLY public.gallery_subscriptions
|
|||
ADD CONSTRAINT fk_rails_fa77f3cebe FOREIGN KEY (gallery_id) REFERENCES public.galleries(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
||||
|
||||
|
||||
--
|
||||
-- Name: image_sources image_sources_image_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.image_sources
|
||||
ADD CONSTRAINT image_sources_image_id_fkey FOREIGN KEY (image_id) REFERENCES public.images(id);
|
||||
|
||||
|
||||
--
|
||||
-- PostgreSQL database dump complete
|
||||
--
|
||||
|
||||
INSERT INTO public."schema_migrations" (version) VALUES (20200503002523);
|
||||
|
||||
|
|
Loading…
Reference in a new issue