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