Files
self 692dcb3129 refactor: move Supertest into TribeOne plugin namespace
Use TribeOne.TribesPlugin.Supertest modules throughout the fixture plugin and update manifest, tests, and migration references accordingly.
2026-05-26 01:13:52 +02:00

38 lines
1.0 KiB
Elixir

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