defmodule AshHq.Repo.Migrations.MigrateResources50 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 alter table(:users) do add(:ashley_access, :boolean, default: false) end create table(:questions, primary_key: false) do add(:id, :uuid, null: false, default: fragment("uuid_generate_v4()"), primary_key: true) add(:question, :text, null: false) add(:answer, :text, null: false) add(:answer_html, :text, null: false) add(:success, :boolean, null: false) add(:inserted_at, :utc_datetime_usec, null: false, default: fragment("now()")) add(:updated_at, :utc_datetime_usec, null: false, default: fragment("now()")) add( :user_id, references(:users, column: :id, name: "questions_user_id_fkey", type: :uuid, prefix: "public" ), null: false ) add(:conversation_id, :uuid, null: false) end create table(:conversations, primary_key: false) do add(:id, :uuid, null: false, default: fragment("uuid_generate_v4()"), primary_key: true) end alter table(:questions) do modify( :conversation_id, references(:conversations, column: :id, prefix: "public", name: "questions_conversation_id_fkey", type: :uuid, on_delete: :delete_all ) ) end alter table(:conversations) do add(:name, :text) add( :user_id, references(:users, column: :id, name: "conversations_user_id_fkey", type: :uuid, prefix: "public" ), null: false ) end end def down do drop(constraint(:conversations, "conversations_user_id_fkey")) alter table(:conversations) do remove(:user_id) remove(:name) end drop(constraint(:questions, "questions_conversation_id_fkey")) alter table(:questions) do modify(:conversation_id, :uuid) end drop(table(:conversations)) drop(constraint(:questions, "questions_user_id_fkey")) drop(table(:questions)) alter table(:users) do remove(:ashley_access) end end end