defmodule AshHq.Repo.Migrations.MigrateResources43 do @moduledoc """ Updates resources based on their most recent snapshots. This file was autogenerated with `mix ash_postgres.generate_migrations` """ use Ecto.Migration def up do create table(:discord_threads, primary_key: false) do add :id, :bigint, null: false, primary_key: true add :type, :bigint add :name, :text, null: false add :author, :text, null: false add :create_timestamp, :utc_datetime, null: false add :channel_id, :bigint, null: false end create table(:discord_thread_tags, primary_key: false) do add :thread_id, references(:discord_threads, column: :id, name: "discord_thread_tags_thread_id_fkey", type: :bigint, prefix: "public" ), primary_key: true, null: false add :tag_id, :bigint, null: false, primary_key: true end create table(:discord_tags, primary_key: false) do add :id, :bigint, null: false, primary_key: true end alter table(:discord_thread_tags) do modify :tag_id, references(:discord_tags, column: :id, prefix: "public", name: "discord_thread_tags_tag_id_fkey", type: :bigint ) end alter table(:discord_tags) do add :name, :citext, null: false add :channel_id, :bigint end create table(:discord_reactions, primary_key: false) do add :id, :uuid, null: false, default: fragment("uuid_generate_v4()"), primary_key: true add :count, :bigint, null: false add :emoji, :text, null: false add :message_id, :bigint, null: false end create table(:discord_messages, primary_key: false) do add :id, :bigint, null: false, primary_key: true end alter table(:discord_reactions) do modify :message_id, references(:discord_messages, column: :id, prefix: "public", name: "discord_reactions_message_id_fkey", type: :bigint ) end create unique_index(:discord_reactions, [:emoji, :message_id], name: "discord_reactions_unique_message_emoji_index" ) alter table(:discord_messages) do add :author, :text, null: false add :content, :text add :content_html, :text add :timestamp, :utc_datetime, null: false add :thread_id, references(:discord_threads, column: :id, name: "discord_messages_thread_id_fkey", type: :bigint, prefix: "public" ), null: false end create table(:discord_channels, primary_key: false) do add :id, :bigint, null: false, primary_key: true end alter table(:discord_threads) do modify :channel_id, references(:discord_channels, column: :id, prefix: "public", name: "discord_threads_channel_id_fkey", type: :bigint ) end alter table(:discord_tags) do modify :channel_id, references(:discord_channels, column: :id, prefix: "public", name: "discord_tags_channel_id_fkey", type: :bigint ) end create unique_index(:discord_tags, [:name, :channel_id], name: "discord_tags_unique_name_per_channel_index" ) alter table(:discord_channels) do add :name, :text, null: false add :order, :bigint, null: false end create table(:discord_attachments, primary_key: false) do add :id, :bigint, null: false, primary_key: true add :filename, :text add :size, :bigint add :url, :text add :proxy_url, :text add :height, :bigint add :width, :bigint add :message_id, references(:discord_messages, column: :id, name: "discord_attachments_message_id_fkey", type: :bigint, prefix: "public" ), null: false end end def down do drop constraint(:discord_attachments, "discord_attachments_message_id_fkey") drop table(:discord_attachments) alter table(:discord_channels) do remove :order remove :name end drop_if_exists unique_index(:discord_tags, [:name, :channel_id], name: "discord_tags_unique_name_per_channel_index" ) drop constraint(:discord_tags, "discord_tags_channel_id_fkey") alter table(:discord_tags) do modify :channel_id, :bigint end drop constraint(:discord_threads, "discord_threads_channel_id_fkey") alter table(:discord_threads) do modify :channel_id, :bigint end drop table(:discord_channels) drop constraint(:discord_messages, "discord_messages_thread_id_fkey") alter table(:discord_messages) do remove :thread_id remove :timestamp remove :content_html remove :content remove :author end drop_if_exists unique_index(:discord_reactions, [:emoji, :message_id], name: "discord_reactions_unique_message_emoji_index" ) drop constraint(:discord_reactions, "discord_reactions_message_id_fkey") alter table(:discord_reactions) do modify :message_id, :bigint end drop table(:discord_messages) drop table(:discord_reactions) alter table(:discord_tags) do remove :channel_id remove :name end drop constraint(:discord_thread_tags, "discord_thread_tags_tag_id_fkey") alter table(:discord_thread_tags) do modify :tag_id, :bigint end drop table(:discord_tags) drop constraint(:discord_thread_tags, "discord_thread_tags_thread_id_fkey") drop table(:discord_thread_tags) drop table(:discord_threads) end end