Packages
ash_postgres
2.5.6
2.10.0
2.9.1
2.9.0
2.8.0
2.7.0
2.6.32
2.6.31
2.6.30
2.6.29
2.6.28
2.6.27
2.6.26
2.6.25
2.6.24
2.6.23
2.6.22
2.6.21
2.6.20
2.6.19
2.6.18
2.6.17
2.6.16
2.6.15
2.6.14
2.6.13
2.6.12
2.6.11
2.6.10
2.6.9
2.6.8
2.6.7
2.6.6
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.6.0
2.5.22
2.5.21
2.5.20
2.5.19
2.5.18
2.5.17
2.5.16
2.5.15
2.5.14
2.5.13
2.5.12
2.5.11
2.5.10
2.5.9
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.21
2.4.20
2.4.19
2.4.18
2.4.17
2.4.16
2.4.15
2.4.14
2.4.13
2.4.12
2.4.11
2.4.10
2.4.9
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.19
2.1.18
2.1.17
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.15
2.0.0-rc.14
2.0.0-rc.13
2.0.0-rc.12
2.0.0-rc.11
2.0.0-rc.10
2.0.0-rc.9
2.0.0-rc.8
2.0.0-rc.7
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.5.30
1.5.29
1.5.28
1.5.27
1.5.26
1.5.25
1.5.24
1.5.23
1.5.22
1.5.21
1.5.20
1.5.19
1.5.18
1.5.17
1.5.16
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.0
1.3.68
1.3.67
1.3.66
1.3.65
1.3.64
1.3.63
1.3.62
1.3.61
1.3.60
1.3.59
1.3.58
1.3.56
1.3.55
1.3.54
1.3.53
1.3.52
1.3.51
1.3.50
1.3.49
1.3.48
1.3.47
1.3.46
1.3.45
1.3.44
1.3.43
1.3.42
1.3.41
1.3.40
1.3.39
1.3.38
1.3.37
1.3.36
1.3.35
1.3.34
1.3.33
1.3.32
1.3.31
1.3.30
1.3.29
1.3.28
1.3.26
1.3.25
1.3.24
1.3.23
1.3.22
1.3.21
1.3.20
1.3.19
1.3.18
1.3.17
1.3.16
1.3.15
1.3.14
1.3.12
1.3.11
1.3.10
1.3.9
1.3.8
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-rc.4
1.3.0-rc.3
1.3.0-rc.2
1.3.0-rc.0
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc.1
1.2.0-rc.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-rc.9
1.0.0-rc.8
1.0.0-rc.7
1.0.0-rc.6
1.0.0-rc.5
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
1.0.0-pre.3
1.0.0-pre.2
1.0.0-pre.1
1.0.0-pre.0
0.43.0
0.42.0-rc.7
0.42.0-rc.6
0.42.0-rc.5
0.42.0-rc.4
0.42.0-rc.3
0.42.0-rc.1
0.42.0-rc.0
0.41.7
0.41.6
0.41.5
0.41.4
0.41.3
0.41.2
0.41.1
0.41.0-rc0
retired
0.41.0-rc.9
0.41.0-rc.8
0.41.0-rc.7
0.41.0-rc.6
0.41.0-rc.5
0.41.0-rc.4
0.41.0-rc.3
0.41.0-rc.2
0.41.0-rc.1
0.41.0-rc.0
0.40.11
0.40.10
0.40.9
0.40.8
0.40.7
0.40.6
0.40.5
0.40.4
0.40.3
0.40.2
0.40.1
0.40.0-rc5
0.40.0-rc4
0.40.0-rc3
0.40.0-rc2
0.40.0-rc1
0.39.0-rc0
0.38.11
0.38.10
0.38.9
0.38.8
0.38.7
0.38.6
0.38.5
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.8
0.37.7
0.37.6
0.37.5
0.37.4
0.37.3
0.37.2
0.37.1
0.37.0
0.36.5
0.36.4
0.36.3
0.36.2
0.36.1
0.36.0
0.35.5
0.35.4
0.35.3
0.35.1
0.34.5
0.34.4
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.2
0.32.1
0.32.0
0.31.1
0.30.1
0.29.6
0.29.5
0.29.4
0.29.3
0.29.2
0.29.1
0.28.1
0.28.0
0.27.0
0.26.2
0.26.1
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.0
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.1
0.15.0
0.14.0
0.13.0
0.12.1
0.12.0
0.11.2
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.1-rc.2
0.1.1-rc.1
0.1.1-rc.0
0.1.0
The PostgreSQL data layer for Ash Framework
Current section
409 Versions
Jump to
Current section
409 Versions
Compare versions
6
files changed
+105
additions
-48
deletions
| @@ -5,6 +5,25 @@ See [Conventional Commits](https://www.conventionalcommits.org) for commit guide | |
| 5 5 | |
| 6 6 | <!-- changelog --> |
| 7 7 | |
| 8 | + ## [v2.5.6](https://github.com/ash-project/ash_postgres/compare/v2.5.5...v2.5.6) (2025-02-25) |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + ### Bug Fixes: |
| 14 | + |
| 15 | + * start lateral join source query bindings at 500 |
| 16 | + |
| 17 | + * Ensure primary key migrations use prefix for multitenancy (#488) |
| 18 | + |
| 19 | + * don't rewrite identities when only global? is changed |
| 20 | + |
| 21 | + * don't modify an attribute when it only needs to be renamed |
| 22 | + |
| 23 | + ### Improvements: |
| 24 | + |
| 25 | + * support SKIP LOCKED in locks |
| 26 | + |
| 8 27 | ## [v2.5.5](https://github.com/ash-project/ash_postgres/compare/v2.5.4...v2.5.5) (2025-02-17) |
| @@ -2,7 +2,7 @@ | |
| 2 2 | [{<<"Changelog">>,<<"https://hexdocs.pm/ash_postgres/changelog.html">>}, |
| 3 3 | {<<"GitHub">>,<<"https://github.com/ash-project/ash_postgres">>}]}. |
| 4 4 | {<<"name">>,<<"ash_postgres">>}. |
| 5 | - {<<"version">>,<<"2.5.5">>}. |
| 5 | + {<<"version">>,<<"2.5.6">>}. |
| 6 6 | {<<"description">>,<<"The PostgreSQL data layer for Ash Framework">>}. |
| 7 7 | {<<"elixir">>,<<"~> 1.13">>}. |
| 8 8 | {<<"files">>, |
| @@ -71,12 +71,12 @@ | |
| 71 71 | [[{<<"name">>,<<"ash">>}, |
| 72 72 | {<<"app">>,<<"ash">>}, |
| 73 73 | {<<"optional">>,false}, |
| 74 | - {<<"requirement">>,<<"~> 3.4 and >= 3.4.64">>}, |
| 74 | + {<<"requirement">>,<<"~> 3.4 and >= 3.4.65">>}, |
| 75 75 | {<<"repository">>,<<"hexpm">>}], |
| 76 76 | [{<<"name">>,<<"ash_sql">>}, |
| 77 77 | {<<"app">>,<<"ash_sql">>}, |
| 78 78 | {<<"optional">>,false}, |
| 79 | - {<<"requirement">>,<<"~> 0.2 and >= 0.2.43">>}, |
| 79 | + {<<"requirement">>,<<"~> 0.2 and >= 0.2.57">>}, |
| 80 80 | {<<"repository">>,<<"hexpm">>}], |
| 81 81 | [{<<"name">>,<<"igniter">>}, |
| 82 82 | {<<"app">>,<<"igniter">>}, |
unknownlib/data_layer.ex
File is too large to be displayed (100 KB limit).
unknownlib/migration_generator/migration_generator.ex
File is too large to be displayed (100 KB limit).
| @@ -1055,17 +1055,24 @@ defmodule AshPostgres.MigrationGenerator.Operation do | |
| 1055 1055 | @moduledoc false |
| 1056 1056 | defstruct [:schema, :table, :keys, no_phase: true] |
| 1057 1057 | |
| 1058 | - def up(%{schema: schema, table: table, keys: keys}) do |
| 1058 | + def up(%{schema: schema, table: table, keys: keys, multitenancy: multitenancy}) do |
| 1059 1059 | keys = Enum.join(keys, ", ") |
| 1060 1060 | |
| 1061 | - if schema do |
| 1062 | - """ |
| 1063 | - execute("ALTER TABLE \\\"#{schema}.#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1064 | - """ |
| 1065 | - else |
| 1066 | - """ |
| 1067 | - execute("ALTER TABLE \\\"#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1068 | - """ |
| 1061 | + cond do |
| 1062 | + multitenancy.strategy == :context -> |
| 1063 | + """ |
| 1064 | + execute("ALTER TABLE \\\"\#{prefix()}\\\".\\\"#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1065 | + """ |
| 1066 | + |
| 1067 | + schema -> |
| 1068 | + """ |
| 1069 | + execute("ALTER TABLE \\\"#{schema}.#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1070 | + """ |
| 1071 | + |
| 1072 | + true -> |
| 1073 | + """ |
| 1074 | + execute("ALTER TABLE \\\"#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1075 | + """ |
| 1069 1076 | end |
| 1070 1077 | end |
| 1071 1078 | |
| @@ -1082,33 +1089,54 @@ defmodule AshPostgres.MigrationGenerator.Operation do | |
| 1082 1089 | "" |
| 1083 1090 | end |
| 1084 1091 | |
| 1085 | - def down(%{schema: schema, table: table, remove_old?: remove_old?, keys: keys}) do |
| 1092 | + def down(%{ |
| 1093 | + schema: schema, |
| 1094 | + table: table, |
| 1095 | + remove_old?: remove_old?, |
| 1096 | + keys: keys, |
| 1097 | + multitenancy: multitenancy |
| 1098 | + }) do |
| 1086 1099 | keys = Enum.join(keys, ", ") |
| 1087 1100 | |
| 1088 | - if schema do |
| 1089 | - remove_old = |
| 1090 | - if remove_old? do |
| 1091 | - """ |
| 1092 | - execute("ALTER TABLE \\\"#{schema}.#{table}\\\" DROP constraint #{table}_pkey") |
| 1093 | - """ |
| 1094 | - end |
| 1101 | + cond do |
| 1102 | + multitenancy.strategy == :context -> |
| 1103 | + remove_old = |
| 1104 | + if remove_old? do |
| 1105 | + """ |
| 1106 | + execute("ALTER TABLE \\\"\#{prefix()}\\\".\\\"#{table}\\\" DROP constraint #{table}_pkey") |
| 1107 | + """ |
| 1108 | + end |
| 1095 1109 | |
| 1096 | - """ |
| 1097 | - #{remove_old} |
| 1098 | - execute("ALTER TABLE \\\"#{schema}.#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1099 | - """ |
| 1100 | - else |
| 1101 | - remove_old = |
| 1102 | - if remove_old? do |
| 1103 | - """ |
| 1104 | - execute("ALTER TABLE \\\"#{table}\\\" DROP constraint #{table}_pkey") |
| 1105 | - """ |
| 1106 | - end |
| 1110 | + """ |
| 1111 | + #{remove_old} |
| 1112 | + execute("ALTER TABLE \\\"\#{prefix()}\\\".\\\"#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1113 | + """ |
| 1107 1114 | |
| 1108 | - """ |
| 1109 | - #{remove_old} |
| 1110 | - execute("ALTER TABLE \\\"#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1111 | - """ |
| 1115 | + not is_nil(schema) -> |
| 1116 | + remove_old = |
| 1117 | + if remove_old? do |
| 1118 | + """ |
| 1119 | + execute("ALTER TABLE \\\"#{schema}.#{table}\\\" DROP constraint #{table}_pkey") |
| 1120 | + """ |
| 1121 | + end |
| 1122 | + |
| 1123 | + """ |
| 1124 | + #{remove_old} |
| 1125 | + execute("ALTER TABLE \\\"#{schema}.#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1126 | + """ |
| 1127 | + |
| 1128 | + true -> |
| 1129 | + remove_old = |
| 1130 | + if remove_old? do |
| 1131 | + """ |
| 1132 | + execute("ALTER TABLE \\\"#{table}\\\" DROP constraint #{table}_pkey") |
| 1133 | + """ |
| 1134 | + end |
| 1135 | + |
| 1136 | + """ |
| 1137 | + #{remove_old} |
| 1138 | + execute("ALTER TABLE \\\"#{table}\\\" ADD PRIMARY KEY (#{keys})") |
| 1139 | + """ |
| 1112 1140 | end |
| 1113 1141 | end |
| 1114 1142 | end |
| @@ -1117,11 +1145,16 @@ defmodule AshPostgres.MigrationGenerator.Operation do | |
| 1117 1145 | @moduledoc false |
| 1118 1146 | defstruct [:schema, :table, no_phase: true] |
| 1119 1147 | |
| 1120 | - def up(%{schema: schema, table: table}) do |
| 1121 | - if schema do |
| 1122 | - "drop constraint(#{inspect(table)}, \"#{table}_pkey\", prefix: \"#{schema}\")" |
| 1123 | - else |
| 1124 | - "drop constraint(#{inspect(table)}, \"#{table}_pkey\")" |
| 1148 | + def up(%{schema: schema, table: table, multitenancy: multitenancy}) do |
| 1149 | + cond do |
| 1150 | + multitenancy.strategy == :context -> |
| 1151 | + "drop constraint(#{inspect(table)}, \"#{table}_pkey\", prefix: prefix())" |
| 1152 | + |
| 1153 | + schema -> |
| 1154 | + "drop constraint(#{inspect(table)}, \"#{table}_pkey\", prefix: \"#{schema}\")" |
| 1155 | + |
| 1156 | + true -> |
| 1157 | + "drop constraint(#{inspect(table)}, \"#{table}_pkey\")" |
| 1125 1158 | end |
| 1126 1159 | end |
| 1127 1160 | |
| @@ -1138,7 +1171,7 @@ defmodule AshPostgres.MigrationGenerator.Operation do | |
| 1138 1171 | "" |
| 1139 1172 | end |
| 1140 1173 | |
| 1141 | - def down(%{schema: schema, table: table, commented?: commented?}) do |
| 1174 | + def down(%{schema: schema, table: table, commented?: commented?, multitenancy: multitenancy}) do |
| 1142 1175 | comment = |
| 1143 1176 | if commented? do |
| 1144 1177 | """ |
| @@ -1149,10 +1182,15 @@ defmodule AshPostgres.MigrationGenerator.Operation do | |
| 1149 1182 | "" |
| 1150 1183 | end |
| 1151 1184 | |
| 1152 | - if schema do |
| 1153 | - "#{comment}drop constraint(#{inspect(table)}, \"#{table}_pkey\", prefix: \"#{schema}\")" |
| 1154 | - else |
| 1155 | - "#{comment}drop constraint(#{inspect(table)}, \"#{table}_pkey\")" |
| 1185 | + cond do |
| 1186 | + multitenancy.strategy == :context -> |
| 1187 | + "#{comment}drop constraint(#{inspect(table)}, \"#{table}_pkey\", prefix: prefix())" |
| 1188 | + |
| 1189 | + schema -> |
| 1190 | + "#{comment}drop constraint(#{inspect(table)}, \"#{table}_pkey\", prefix: \"#{schema}\")" |
| 1191 | + |
| 1192 | + true -> |
| 1193 | + "#{comment}drop constraint(#{inspect(table)}, \"#{table}_pkey\")" |
| 1156 1194 | end |
| 1157 1195 | end |
| 1158 1196 | end |
Loading more files…