fix: don't prefix unique indices with prefix()

This commit is contained in:
Zach Daniel 2021-04-27 16:15:55 -04:00
parent ae3f2c0b07
commit 41e95af715

View file

@ -475,26 +475,23 @@ defmodule AshPostgres.MigrationGenerator.Operation do
table: table, table: table,
multitenancy: multitenancy multitenancy: multitenancy
}) do }) do
{name_prefix, keys} = keys =
case multitenancy.strategy do case multitenancy.strategy do
:context ->
{"\#\{prefix()\}_", keys}
:attribute -> :attribute ->
{"", [multitenancy.attribute | keys]} [multitenancy.attribute | keys]
_ -> _ ->
{"", keys} keys
end end
if base_filter do if base_filter do
"create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{ "create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{
name_prefix table
}#{table}_#{name}_unique_index\", where: \"#{base_filter}\")" }_#{name}_unique_index\", where: \"#{base_filter}\")"
else else
"create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{ "create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{
name_prefix table
}#{table}_#{name}_unique_index\")" }_#{name}_unique_index\")"
end end
end end
@ -503,21 +500,18 @@ defmodule AshPostgres.MigrationGenerator.Operation do
table: table, table: table,
multitenancy: multitenancy multitenancy: multitenancy
}) do }) do
{name_prefix, keys} = keys =
case multitenancy.strategy do case multitenancy.strategy do
:context ->
{"\#\{prefix()\}_", keys}
:attribute -> :attribute ->
{"", [multitenancy.attribute | keys]} [multitenancy.attribute | keys]
_ -> _ ->
{"", keys} keys
end end
"drop_if_exists unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{ "drop_if_exists unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{
name_prefix table
}#{table}_#{name}_unique_index\")" }_#{name}_unique_index\")"
end end
end end
@ -526,21 +520,18 @@ defmodule AshPostgres.MigrationGenerator.Operation do
defstruct [:identity, :table, :multitenancy, :old_multitenancy, no_phase: true] defstruct [:identity, :table, :multitenancy, :old_multitenancy, no_phase: true]
def up(%{identity: %{name: name, keys: keys}, table: table, old_multitenancy: multitenancy}) do def up(%{identity: %{name: name, keys: keys}, table: table, old_multitenancy: multitenancy}) do
{name_prefix, keys} = keys =
case multitenancy.strategy do case multitenancy.strategy do
:context ->
{"\#\{prefix()\}_", keys}
:attribute -> :attribute ->
{"", [multitenancy.attribute | keys]} [multitenancy.attribute | keys]
_ -> _ ->
{"", keys} keys
end end
"drop_if_exists unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{ "drop_if_exists unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{
name_prefix table
}#{table}_#{name}_unique_index\")" }_#{name}_unique_index\")"
end end
def down(%{ def down(%{
@ -548,26 +539,23 @@ defmodule AshPostgres.MigrationGenerator.Operation do
table: table, table: table,
multitenancy: multitenancy multitenancy: multitenancy
}) do }) do
{name_prefix, keys} = keys =
case multitenancy.strategy do case multitenancy.strategy do
:context ->
{"\#\{prefix()\}_", keys}
:attribute -> :attribute ->
{"", [multitenancy.attribute | keys]} [multitenancy.attribute | keys]
_ -> _ ->
{"", keys} keys
end end
if base_filter do if base_filter do
"create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{ "create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{
name_prefix table
}#{table}_#{name}_unique_index\", where: \"#{base_filter}\")" }_#{name}_unique_index\", where: \"#{base_filter}\")"
else else
"create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{ "create unique_index(:#{table}, [#{Enum.map_join(keys, ",", &inspect/1)}], name: \"#{
name_prefix table
}#{table}_#{name}_unique_index\")" }_#{name}_unique_index\")"
end end
end end
end end