Packages
literature
0.2.13
0.5.1
0.5.0
0.4.22
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
retired
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.32
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
A simple CMS / Blog
Current section
Files
Jump to
Current section
Files
lib/literature/migrations/postgres/v01.ex
defmodule Literature.Migrations.Postgres.V01 do
@moduledoc """
Beginning tables for Literature
"""
use Ecto.Migration
def up(_opts) do
# create literature_publications
create_if_not_exists table(:literature_publications, primary_key: false) do
add(:id, :binary_id, primary_key: true)
add(:slug, :string, null: false)
add(:name, :string, null: false)
add(:description, :text)
add(:meta_title, :string)
add(:meta_description, :string)
add(:meta_keywords, :string)
add(:og_image, :string)
add(:og_title, :string)
add(:og_description, :string)
add(:twitter_image, :string)
add(:twitter_title, :string)
add(:twitter_description, :string)
timestamps()
end
create_if_not_exists table(:literature_tags, primary_key: false) do
add(:id, :binary_id, primary_key: true)
add(:slug, :string, null: false)
add(:name, :string, null: false)
add(:description, :text)
add(:feature_image, :string)
add(:visibility, :boolean)
add(:meta_title, :string)
add(:meta_description, :string)
add(:meta_keywords, :string)
add(:og_image, :string)
add(:og_title, :string)
add(:og_description, :string)
add(:twitter_image, :string)
add(:twitter_title, :string)
add(:twitter_description, :string)
add(
:publication_id,
references(:literature_publications, on_delete: :nilify_all, type: :binary_id)
)
timestamps()
end
# literature_posts
create_if_not_exists table(:literature_posts, primary_key: false) do
add(:id, :binary_id, primary_key: true)
add(:slug, :string, null: false)
add(:title, :string, null: false)
add(:feature_image, :string)
add(:feature_image_alt, :string)
add(:feature_image_caption, :string)
add(:featured, :boolean, default: false)
add(:published_at, :utc_datetime)
add(:excerpt, :text)
add(:editor_json, :json)
add(:html, {:array, :text})
add(:meta_title, :string)
add(:meta_description, :string)
add(:meta_keywords, :string)
add(:og_image, :string)
add(:og_title, :string)
add(:og_description, :string)
add(:twitter_image, :string)
add(:twitter_title, :string)
add(:twitter_description, :string)
add(
:publication_id,
references(:literature_publications, on_delete: :nilify_all, type: :binary_id)
)
timestamps()
end
create_if_not_exists table(:literature_tags_posts, primary_key: false) do
add(:tag_id, references(:literature_tags, on_delete: :delete_all, type: :binary_id))
add(:post_id, references(:literature_posts, on_delete: :delete_all, type: :binary_id))
end
# create literature_authors
create_if_not_exists table(:literature_authors, primary_key: false) do
add(:id, :binary_id, primary_key: true)
add(:slug, :string, null: false)
add(:name, :string, null: false)
add(:profile_image, :string)
add(:cover_image, :string)
add(:bio, :text)
add(:website, :string)
add(:location, :string)
add(:facebook, :string)
add(:twitter, :string)
add(:meta_title, :string)
add(:meta_description, :string)
add(:meta_keywords, :string)
add(
:publication_id,
references(:literature_publications, on_delete: :nilify_all, type: :binary_id)
)
timestamps()
end
# create literature_authors_posts
create_if_not_exists table(:literature_authors_posts, primary_key: false) do
add(:author_id, references(:literature_authors, on_delete: :delete_all, type: :binary_id))
add(:post_id, references(:literature_posts, on_delete: :delete_all, type: :binary_id))
end
create_if_not_exists(unique_index(:literature_tags, [:publication_id, :slug]))
create_if_not_exists(unique_index(:literature_publications, [:slug]))
create_if_not_exists(unique_index(:literature_posts, [:publication_id, :slug]))
end
def down(_opts) do
drop_if_exists(table(:literature_authors_posts))
drop_if_exists(table(:literature_authors))
drop_if_exists(table(:literature_tags_posts))
drop_if_exists(table(:literature_posts))
drop_if_exists(table(:literature_tags))
drop_if_exists(table(:literature_publications))
end
end