You've already forked tribes-plugin-supertest
forked from tribes/tribes-plugin-template
692dcb3129
Use TribeOne.TribesPlugin.Supertest modules throughout the fixture plugin and update manifest, tests, and migration references accordingly.
38 lines
1.0 KiB
Elixir
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
|