defmodule TribeOne.TribesPlugin.Supertest.MigrationHelper do @moduledoc false @version 20_260_430_120_000 @migration TribeOne.TribesPlugin.Supertest.Repo.Migrations.CreateSupertestCasesAndEvents @migration_path Path.expand( "../../priv/repo/migrations/20260430120000_create_supertest_cases_and_events.exs", __DIR__ ) def version, do: @version def migrate_up! do ensure_migration_loaded!() Ecto.Migrator.up(Tribes.Repo, @version, @migration, log: false) :ok end def migrate_down! do ensure_migration_loaded!() Ecto.Migrator.down(Tribes.Repo, @version, @migration, log: false) :ok end def table_present?(table) do case Ecto.Adapters.SQL.query(Tribes.Repo, "SELECT to_regclass($1)::text", ["public.#{table}"]) do {:ok, %{rows: [[name]]}} when is_binary(name) -> true _other -> false end end defp ensure_migration_loaded! do unless Code.ensure_loaded?(@migration) do Code.require_file(@migration_path) end end end