@prisma-next/target-postgres 0.14.0-dev.8 → 0.14.0-dev.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/dist/authoring-Bi9aa8zG.mjs +574 -0
  2. package/dist/authoring-Bi9aa8zG.mjs.map +1 -0
  3. package/dist/canonicalize-CAbXtVtB.d.mts +37 -0
  4. package/dist/canonicalize-CAbXtVtB.d.mts.map +1 -0
  5. package/dist/{codec-ids-CnXu9Qy3.d.mts → codec-ids-BzrFF-I4.d.mts} +3 -2
  6. package/dist/codec-ids-BzrFF-I4.d.mts.map +1 -0
  7. package/dist/{codec-ids-BvytN2P8.mjs → codec-ids-C_-Hj6bL.mjs} +3 -2
  8. package/dist/codec-ids-C_-Hj6bL.mjs.map +1 -0
  9. package/dist/codec-ids.d.mts +2 -2
  10. package/dist/codec-ids.mjs +2 -2
  11. package/dist/{codec-types-DHCkwPKE.d.mts → codec-types-BiIWziRO.d.mts} +3 -2
  12. package/dist/codec-types-BiIWziRO.d.mts.map +1 -0
  13. package/dist/codec-types.d.mts +1 -1
  14. package/dist/codecs-BemGS69L.mjs +927 -0
  15. package/dist/codecs-BemGS69L.mjs.map +1 -0
  16. package/dist/{codecs--0A5_4Bq.d.mts → codecs-Cm-nS4mQ.d.mts} +111 -4
  17. package/dist/codecs-Cm-nS4mQ.d.mts.map +1 -0
  18. package/dist/codecs.d.mts +2 -2
  19. package/dist/codecs.mjs +3 -757
  20. package/dist/codecs.mjs.map +1 -1
  21. package/dist/contract-free.d.mts +33 -3
  22. package/dist/contract-free.d.mts.map +1 -1
  23. package/dist/contract-free.mjs +23 -7
  24. package/dist/contract-free.mjs.map +1 -1
  25. package/dist/control-policy-5LE2kwfb.mjs +1285 -0
  26. package/dist/control-policy-5LE2kwfb.mjs.map +1 -0
  27. package/dist/control.d.mts +2 -2
  28. package/dist/control.d.mts.map +1 -1
  29. package/dist/control.mjs +866 -36
  30. package/dist/control.mjs.map +1 -1
  31. package/dist/data-transform-BOWpliq8.mjs.map +1 -1
  32. package/dist/{data-transform-DDgWdB5o.d.mts → data-transform-DPzwBMhW.d.mts} +3 -3
  33. package/dist/{data-transform-DDgWdB5o.d.mts.map → data-transform-DPzwBMhW.d.mts.map} +1 -1
  34. package/dist/data-transform.d.mts +1 -1
  35. package/dist/{ddl-QDyOSeLc.mjs → ddl-BQzITB_e.mjs} +128 -6
  36. package/dist/ddl-BQzITB_e.mjs.map +1 -0
  37. package/dist/ddl.d.mts +3 -2
  38. package/dist/ddl.mjs +2 -2
  39. package/dist/default-normalizer.d.mts +1 -1
  40. package/dist/default-normalizer.d.mts.map +1 -1
  41. package/dist/default-normalizer.mjs +247 -1
  42. package/dist/default-normalizer.mjs.map +1 -0
  43. package/dist/descriptor-meta-DzL6vXAz.mjs +22 -0
  44. package/dist/descriptor-meta-DzL6vXAz.mjs.map +1 -0
  45. package/dist/descriptor-meta-runtime-UwYdV8fD.mjs +12 -0
  46. package/dist/descriptor-meta-runtime-UwYdV8fD.mjs.map +1 -0
  47. package/dist/diff-database-schema-DULhiCNM.mjs +305 -0
  48. package/dist/diff-database-schema-DULhiCNM.mjs.map +1 -0
  49. package/dist/diff-database-schema.d.mts +46 -0
  50. package/dist/diff-database-schema.d.mts.map +1 -0
  51. package/dist/diff-database-schema.mjs +2 -0
  52. package/dist/errors-DO-w0EUS.mjs +35 -0
  53. package/dist/errors-DO-w0EUS.mjs.map +1 -0
  54. package/dist/errors.d.mts +11 -9
  55. package/dist/errors.d.mts.map +1 -1
  56. package/dist/errors.mjs +1 -1
  57. package/dist/issue-planner.d.mts +35 -11
  58. package/dist/issue-planner.d.mts.map +1 -1
  59. package/dist/issue-planner.mjs +2 -2
  60. package/dist/migration.d.mts +5 -5
  61. package/dist/migration.d.mts.map +1 -1
  62. package/dist/migration.mjs +4 -4
  63. package/dist/namespace-ids-xtp_ZY86.mjs +7 -0
  64. package/dist/namespace-ids-xtp_ZY86.mjs.map +1 -0
  65. package/dist/native-type-normalizer.mjs +37 -1
  66. package/dist/native-type-normalizer.mjs.map +1 -0
  67. package/dist/nodes-Bc2N3tMy.d.mts +170 -0
  68. package/dist/nodes-Bc2N3tMy.d.mts.map +1 -0
  69. package/dist/nodes-DJC5B8Id.mjs +192 -0
  70. package/dist/nodes-DJC5B8Id.mjs.map +1 -0
  71. package/dist/{op-factory-call-DmQEc3XV.d.mts → op-factory-call-Bn9zDx4_.d.mts} +114 -15
  72. package/dist/op-factory-call-Bn9zDx4_.d.mts.map +1 -0
  73. package/dist/{op-factory-call-D_p5vxwt.mjs → op-factory-call-D6yu-PlS.mjs} +469 -32
  74. package/dist/op-factory-call-D6yu-PlS.mjs.map +1 -0
  75. package/dist/op-factory-call.d.mts +2 -2
  76. package/dist/op-factory-call.mjs +2 -2
  77. package/dist/pack.d.mts +300 -3
  78. package/dist/pack.d.mts.map +1 -1
  79. package/dist/pack.mjs +1 -1
  80. package/dist/planner-DwDxdYxi.mjs +390 -0
  81. package/dist/planner-DwDxdYxi.mjs.map +1 -0
  82. package/dist/{planner-ddl-builders-B2wOwLqI.mjs → planner-ddl-builders-BKlmGDJl.mjs} +17 -28
  83. package/dist/planner-ddl-builders-BKlmGDJl.mjs.map +1 -0
  84. package/dist/planner-ddl-builders.d.mts +4 -6
  85. package/dist/planner-ddl-builders.d.mts.map +1 -1
  86. package/dist/planner-ddl-builders.mjs +2 -2
  87. package/dist/planner-identity-values-CJPha2Sz.mjs.map +1 -1
  88. package/dist/planner-identity-values.d.mts +8 -2
  89. package/dist/planner-identity-values.d.mts.map +1 -1
  90. package/dist/planner-identity-values.mjs +2 -2
  91. package/dist/{planner-produced-postgres-migration-QqHa2C2l.d.mts → planner-produced-postgres-migration-BEY1T0Xm.d.mts} +4 -4
  92. package/dist/{planner-produced-postgres-migration-QqHa2C2l.d.mts.map → planner-produced-postgres-migration-BEY1T0Xm.d.mts.map} +1 -1
  93. package/dist/{planner-produced-postgres-migration-Cji5vxUf.mjs → planner-produced-postgres-migration-BGPpq56_.mjs} +3 -3
  94. package/dist/{planner-produced-postgres-migration-Cji5vxUf.mjs.map → planner-produced-postgres-migration-BGPpq56_.mjs.map} +1 -1
  95. package/dist/planner-produced-postgres-migration.d.mts +1 -1
  96. package/dist/planner-produced-postgres-migration.mjs +1 -1
  97. package/dist/{planner-sql-checks-jqUUGyQR.mjs → planner-sql-checks-CDXn2uaS.mjs} +5 -5
  98. package/dist/{planner-sql-checks-jqUUGyQR.mjs.map → planner-sql-checks-CDXn2uaS.mjs.map} +1 -1
  99. package/dist/planner-sql-checks.d.mts +2 -2
  100. package/dist/planner-sql-checks.d.mts.map +1 -1
  101. package/dist/planner-sql-checks.mjs +1 -1
  102. package/dist/{planner-target-details-CIY6tLeo.d.mts → planner-target-details-HkP4RrRO.d.mts} +2 -2
  103. package/dist/planner-target-details-HkP4RrRO.d.mts.map +1 -0
  104. package/dist/planner-target-details.d.mts +1 -1
  105. package/dist/planner.d.mts +72 -17
  106. package/dist/planner.d.mts.map +1 -1
  107. package/dist/planner.mjs +3 -2
  108. package/dist/{postgres-contract-serializer-k3TAcPMY.mjs → postgres-contract-view-C3LPCLP_.mjs} +45 -41
  109. package/dist/postgres-contract-view-C3LPCLP_.mjs.map +1 -0
  110. package/dist/postgres-contract-view-C9j5cqP0.d.mts +34 -0
  111. package/dist/postgres-contract-view-C9j5cqP0.d.mts.map +1 -0
  112. package/dist/postgres-database-schema-node-CJv5bfbs.d.mts +262 -0
  113. package/dist/postgres-database-schema-node-CJv5bfbs.d.mts.map +1 -0
  114. package/dist/{postgres-migration-Y4YBJqkS.d.mts → postgres-migration-DbckK1su.d.mts} +58 -9
  115. package/dist/postgres-migration-DbckK1su.d.mts.map +1 -0
  116. package/dist/{postgres-migration-B5jKrXv3.mjs → postgres-migration-et1td40f.mjs} +78 -45
  117. package/dist/postgres-migration-et1td40f.mjs.map +1 -0
  118. package/dist/postgres-native-enum-BwVNf0Ku.mjs +45 -0
  119. package/dist/postgres-native-enum-BwVNf0Ku.mjs.map +1 -0
  120. package/dist/postgres-rls-policy--CSddvMR.d.mts +52 -0
  121. package/dist/postgres-rls-policy--CSddvMR.d.mts.map +1 -0
  122. package/dist/postgres-role-schema-node-Cm-j0ZGM.mjs +190 -0
  123. package/dist/postgres-role-schema-node-Cm-j0ZGM.mjs.map +1 -0
  124. package/dist/postgres-schema-DKq6s1P3.d.mts +269 -0
  125. package/dist/postgres-schema-DKq6s1P3.d.mts.map +1 -0
  126. package/dist/{postgres-schema-COGZ1ark.mjs → postgres-schema-DYATroNx.mjs} +200 -11
  127. package/dist/postgres-schema-DYATroNx.mjs.map +1 -0
  128. package/dist/postgres-table-schema-node-D6LvInCe.mjs +216 -0
  129. package/dist/postgres-table-schema-node-D6LvInCe.mjs.map +1 -0
  130. package/dist/render-ops.d.mts +1 -1
  131. package/dist/{render-typescript-KMgosran.mjs → render-typescript-7yqILcwr.mjs} +45 -16
  132. package/dist/render-typescript-7yqILcwr.mjs.map +1 -0
  133. package/dist/render-typescript.mjs +1 -1
  134. package/dist/resolve-ddl-schema-DpGte50u.mjs +22 -0
  135. package/dist/resolve-ddl-schema-DpGte50u.mjs.map +1 -0
  136. package/dist/rls-canonicalize.d.mts +20 -0
  137. package/dist/rls-canonicalize.d.mts.map +1 -0
  138. package/dist/rls-canonicalize.mjs +2 -0
  139. package/dist/runtime.d.mts +6 -8
  140. package/dist/runtime.d.mts.map +1 -1
  141. package/dist/runtime.mjs +3 -3
  142. package/dist/runtime.mjs.map +1 -1
  143. package/dist/schema-ir-annotations.d.mts +15 -0
  144. package/dist/schema-ir-annotations.d.mts.map +1 -0
  145. package/dist/schema-ir-annotations.mjs +2 -0
  146. package/dist/{sql-utils-DcfMz4MQ.mjs → sql-utils-SU4FDvIV.mjs} +12 -3
  147. package/dist/{sql-utils-DcfMz4MQ.mjs.map → sql-utils-SU4FDvIV.mjs.map} +1 -1
  148. package/dist/sql-utils.d.mts +8 -1
  149. package/dist/sql-utils.d.mts.map +1 -1
  150. package/dist/sql-utils.mjs +2 -2
  151. package/dist/types.d.mts +4 -140
  152. package/dist/types.mjs +5 -2
  153. package/dist/wire-name-rHHtr1h0.mjs +75 -0
  154. package/dist/wire-name-rHHtr1h0.mjs.map +1 -0
  155. package/package.json +26 -20
  156. package/src/contract-free/checks.ts +153 -0
  157. package/src/contract-free/control-bootstrap.ts +20 -3
  158. package/src/contract-free/ddl.ts +98 -1
  159. package/src/core/authoring.ts +509 -2
  160. package/src/core/codec-helpers.ts +33 -7
  161. package/src/core/codec-ids.ts +1 -0
  162. package/src/core/codec-type-map.ts +2 -0
  163. package/src/core/codecs.ts +193 -12
  164. package/src/core/ddl/nodes.ts +185 -2
  165. package/src/core/default-normalizer.ts +122 -2
  166. package/src/core/descriptor-meta.ts +10 -1
  167. package/src/core/entity-kinds.ts +41 -0
  168. package/src/core/errors.ts +14 -12
  169. package/src/core/migrations/bound-schema.ts +10 -0
  170. package/src/core/migrations/column-ddl-rendering.ts +117 -0
  171. package/src/core/migrations/contract-to-postgres-database-schema-node.ts +189 -0
  172. package/src/core/migrations/control-policy.ts +217 -65
  173. package/src/core/migrations/diff-database-schema.ts +252 -0
  174. package/src/core/migrations/issue-planner.ts +817 -656
  175. package/src/core/migrations/op-factory-call.ts +383 -23
  176. package/src/core/migrations/operations/columns.ts +24 -12
  177. package/src/core/migrations/operations/constraints.ts +1 -1
  178. package/src/core/migrations/operations/data-transform.ts +6 -0
  179. package/src/core/migrations/operations/dependencies.ts +2 -1
  180. package/src/core/migrations/operations/native-enum-types.ts +62 -0
  181. package/src/core/migrations/operations/rls.ts +187 -0
  182. package/src/core/migrations/operations/shared.ts +0 -30
  183. package/src/core/migrations/planner-ddl-builders.ts +31 -59
  184. package/src/core/migrations/planner-identity-values.ts +1 -1
  185. package/src/core/migrations/planner-recipes.ts +31 -13
  186. package/src/core/migrations/planner-sql-checks.ts +1 -1
  187. package/src/core/migrations/planner-strategies.ts +248 -216
  188. package/src/core/migrations/planner-target-details.ts +3 -1
  189. package/src/core/migrations/planner.ts +357 -67
  190. package/src/core/migrations/postgres-migration.ts +118 -86
  191. package/src/core/migrations/render-typescript.ts +42 -15
  192. package/src/core/migrations/resolve-ddl-schema.ts +26 -0
  193. package/src/core/migrations/runner.ts +11 -16
  194. package/src/core/migrations/verify-postgres-namespaces.ts +46 -31
  195. package/src/core/namespace-ids.ts +3 -0
  196. package/src/core/postgres-contract-serializer.ts +46 -71
  197. package/src/core/postgres-contract-view.ts +48 -0
  198. package/src/core/postgres-native-enum.ts +61 -0
  199. package/src/core/postgres-rls-enablement.ts +34 -0
  200. package/src/core/postgres-rls-policy.ts +64 -0
  201. package/src/core/postgres-role.ts +59 -0
  202. package/src/core/postgres-schema-verifier.ts +10 -7
  203. package/src/core/postgres-schema.ts +85 -15
  204. package/src/core/postgres-validators.ts +34 -0
  205. package/src/core/psl-infer/infer-psl-contract.ts +1273 -0
  206. package/src/core/psl-infer/postgres-default-mapping.ts +16 -0
  207. package/src/core/psl-infer/postgres-type-map.ts +128 -0
  208. package/src/core/rls/canonicalize.ts +48 -0
  209. package/src/core/rls/wire-name.ts +33 -0
  210. package/src/core/schema-ir/node-storage-coordinate.ts +26 -0
  211. package/src/core/schema-ir/postgres-database-schema-node.ts +61 -0
  212. package/src/core/schema-ir/postgres-namespace-schema-node.ts +70 -0
  213. package/src/core/schema-ir/postgres-native-enum-schema-node.ts +83 -0
  214. package/src/core/schema-ir/postgres-policy-schema-node.ts +90 -0
  215. package/src/core/schema-ir/postgres-role-schema-node.ts +65 -0
  216. package/src/core/schema-ir/postgres-table-schema-node.ts +140 -0
  217. package/src/core/schema-ir/schema-node-kinds.ts +122 -0
  218. package/src/core/sql-utils.ts +15 -2
  219. package/src/exports/codecs.ts +3 -0
  220. package/src/exports/contract-free.ts +11 -1
  221. package/src/exports/control.ts +27 -33
  222. package/src/exports/ddl.ts +8 -0
  223. package/src/exports/diff-database-schema.ts +7 -0
  224. package/src/exports/issue-planner.ts +1 -1
  225. package/src/exports/migration.ts +1 -0
  226. package/src/exports/op-factory-call.ts +4 -0
  227. package/src/exports/planner-ddl-builders.ts +0 -2
  228. package/src/exports/planner-identity-values.ts +4 -1
  229. package/src/exports/planner.ts +1 -0
  230. package/src/exports/rls-canonicalize.ts +7 -0
  231. package/src/exports/runtime.ts +1 -0
  232. package/src/exports/schema-ir-annotations.ts +1 -0
  233. package/src/exports/sql-utils.ts +1 -0
  234. package/src/exports/types.ts +37 -0
  235. package/dist/codec-ids-BvytN2P8.mjs.map +0 -1
  236. package/dist/codec-ids-CnXu9Qy3.d.mts.map +0 -1
  237. package/dist/codec-types-DHCkwPKE.d.mts.map +0 -1
  238. package/dist/codecs--0A5_4Bq.d.mts.map +0 -1
  239. package/dist/ddl-QDyOSeLc.mjs.map +0 -1
  240. package/dist/default-normalizer-DyyCHQWs.mjs +0 -131
  241. package/dist/default-normalizer-DyyCHQWs.mjs.map +0 -1
  242. package/dist/descriptor-meta-CpGygXpI.mjs +0 -140
  243. package/dist/descriptor-meta-CpGygXpI.mjs.map +0 -1
  244. package/dist/errors-CUk87ByX.mjs +0 -33
  245. package/dist/errors-CUk87ByX.mjs.map +0 -1
  246. package/dist/issue-planner-DL6g3CmE.mjs +0 -824
  247. package/dist/issue-planner-DL6g3CmE.mjs.map +0 -1
  248. package/dist/native-type-normalizer-Bc9XJzWC.mjs +0 -38
  249. package/dist/native-type-normalizer-Bc9XJzWC.mjs.map +0 -1
  250. package/dist/nodes-Bbhs2rwj.mjs +0 -76
  251. package/dist/nodes-Bbhs2rwj.mjs.map +0 -1
  252. package/dist/nodes-pLeLgdis.d.mts +0 -67
  253. package/dist/nodes-pLeLgdis.d.mts.map +0 -1
  254. package/dist/op-factory-call-D_p5vxwt.mjs.map +0 -1
  255. package/dist/op-factory-call-DmQEc3XV.d.mts.map +0 -1
  256. package/dist/planner-Bs_baQax.mjs +0 -324
  257. package/dist/planner-Bs_baQax.mjs.map +0 -1
  258. package/dist/planner-ddl-builders-B2wOwLqI.mjs.map +0 -1
  259. package/dist/planner-target-details-CIY6tLeo.d.mts.map +0 -1
  260. package/dist/postgres-contract-serializer-k3TAcPMY.mjs.map +0 -1
  261. package/dist/postgres-migration-B5jKrXv3.mjs.map +0 -1
  262. package/dist/postgres-migration-Y4YBJqkS.d.mts.map +0 -1
  263. package/dist/postgres-schema-COGZ1ark.mjs.map +0 -1
  264. package/dist/render-typescript-KMgosran.mjs.map +0 -1
  265. package/dist/types.d.mts.map +0 -1
  266. package/src/core/postgres-enum-type-schema.ts +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"op-factory-call-Bn9zDx4_.d.mts","names":[],"sources":["../src/core/migrations/operations/shared.ts","../src/core/migrations/op-factory-call.ts"],"mappings":"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"}
@@ -1,14 +1,26 @@
1
- import { i as quoteIdentifier, n as escapeLiteral } from "./sql-utils-DcfMz4MQ.mjs";
2
- import { a as columnDefaultAst, c as columnTypeAst, d as indexExistsAst, f as noNullValuesAst, i as createTable, l as constraintExistsAst, m as tableIsEmptyAst, n as alterTable, o as columnExistsAst, p as tableExistsAst, r as createSchema, s as columnNullabilityAst, t as addColumnAction, u as extensionExistsAst } from "./ddl-QDyOSeLc.mjs";
3
- import { n as qualifyTableName } from "./planner-sql-checks-jqUUGyQR.mjs";
4
- import { t as buildAddColumnSql } from "./planner-ddl-builders-B2wOwLqI.mjs";
1
+ import { t as DEFAULT_NAMESPACE_ID } from "./namespace-ids-xtp_ZY86.mjs";
2
+ import { a as quoteQualifiedName, i as quoteIdentifier, n as escapeLiteral, o as validateEnumValueLength } from "./sql-utils-SU4FDvIV.mjs";
3
+ import { C as rlsPolicyExistsAst, S as rlsEnabledAst, T as tableIsEmptyAst, _ as extensionExistsAst, a as createSchema, b as nativeEnumValueExistsAst, c as disableRowLevelSecurity$1, d as dropType, f as columnDefaultAst, g as constraintExistsAst, h as columnTypeAst, i as createPolicy, l as dropDefaultAction, m as columnNullabilityAst, n as alterPolicyRename, o as createTable, p as columnExistsAst, r as alterTable, s as createType, t as addColumnAction, u as dropPolicy, v as indexExistsAst, w as tableExistsAst, x as noNullValuesAst, y as nativeEnumTypeExistsAst } from "./ddl-BQzITB_e.mjs";
4
+ import { n as qualifyTableName } from "./planner-sql-checks-CDXn2uaS.mjs";
5
+ import { n as buildColumnTypeSql } from "./planner-ddl-builders-BKlmGDJl.mjs";
5
6
  import { FunctionColumnDefault, LiteralColumnDefault } from "@prisma-next/sql-relational-core/ast";
7
+ import { UNBOUND_NAMESPACE_ID } from "@prisma-next/framework-components/ir";
6
8
  import { blindCast } from "@prisma-next/utils/casts";
7
9
  import { ifDefined } from "@prisma-next/utils/defined";
8
- import { UNBOUND_NAMESPACE_ID } from "@prisma-next/framework-components/ir";
10
+ import { col } from "@prisma-next/sql-relational-core/contract-free";
9
11
  import { errorUnfilledPlaceholder } from "@prisma-next/errors/migration";
10
12
  import { TsExpression, jsonToTsSource } from "@prisma-next/ts-render";
11
13
  import { REFERENTIAL_ACTION_SQL } from "@prisma-next/sql-contract/referential-action-sql";
14
+ //#region src/core/migrations/bound-schema.ts
15
+ /**
16
+ * Maps a planner schema name to the contract-free DDL builder's optional
17
+ * `schema` field: the unbound sentinel becomes `undefined` (the builder omits
18
+ * the schema qualifier), every other name passes through.
19
+ */
20
+ function boundSchema(schemaName) {
21
+ return schemaName === UNBOUND_NAMESPACE_ID ? void 0 : schemaName;
22
+ }
23
+ //#endregion
12
24
  //#region src/core/migrations/operations/shared.ts
13
25
  function step(description, sql, params) {
14
26
  return {
@@ -171,12 +183,16 @@ async function setDefault(schemaName, tableName, columnName, defaultSql, lowerer
171
183
  };
172
184
  }
173
185
  async function dropDefault(schemaName, tableName, columnName, lowerer) {
174
- const qualified = qualifyTableName(schemaName, tableName);
175
186
  const { present } = await columnExistsSteps(lowerer, {
176
187
  schema: schemaName,
177
188
  table: tableName,
178
189
  column: columnName
179
190
  });
191
+ const dropDefaultExec = await lowerer.lowerToExecuteRequest(alterTable({
192
+ ...ifDefined("schema", boundSchema(schemaName)),
193
+ table: tableName,
194
+ actions: [dropDefaultAction(columnName)]
195
+ }));
180
196
  const noDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({
181
197
  schema: schemaName,
182
198
  table: tableName,
@@ -188,17 +204,23 @@ async function dropDefault(schemaName, tableName, columnName, lowerer) {
188
204
  operationClass: "destructive",
189
205
  target: targetDetails("column", columnName, schemaName, tableName),
190
206
  precheck: [step(`ensure column "${columnName}" exists`, present.sql, present.params)],
191
- execute: [step(`drop default on "${columnName}"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} DROP DEFAULT`)],
207
+ execute: [step(`drop default on "${columnName}"`, dropDefaultExec.sql)],
192
208
  postcheck: [step(`verify column "${columnName}" has no default`, noDefault.sql, noDefault.params)]
193
209
  };
194
210
  }
195
211
  /**
196
212
  * Builds the op for adding a NOT NULL column (no contract default) to a
197
213
  * non-empty table. Prechecks assert the column is absent and the table is
198
- * empty; the execute step is the raw ADD COLUMN SQL passed by the caller
199
- * (slice-7 deferred); postchecks assert the column exists and is NOT NULL.
214
+ * empty; the execute step lowers the typed `AddColumn` DDL node through the
215
+ * adapter; postchecks assert the column exists and is NOT NULL.
200
216
  */
201
- async function addNotNullColumnDirect(schemaName, tableName, columnName, executeStepSql, lowerer) {
217
+ async function addNotNullColumnDirect(schemaName, tableName, column, lowerer) {
218
+ const columnName = column.name;
219
+ const addColumn = await lowerer.lowerToExecuteRequest(alterTable({
220
+ ...ifDefined("schema", boundSchema(schemaName)),
221
+ table: tableName,
222
+ actions: [addColumnAction(column)]
223
+ }));
202
224
  const absent = await lowerer.lowerToExecuteRequest(columnExistsAst({
203
225
  schema: schemaName,
204
226
  table: tableName,
@@ -223,7 +245,7 @@ async function addNotNullColumnDirect(schemaName, tableName, columnName, execute
223
245
  operationClass: "additive",
224
246
  target: targetDetails("column", columnName, schemaName, tableName),
225
247
  precheck: [step(`ensure column "${columnName}" is missing`, absent.sql, absent.params), step(`ensure table "${tableName}" is empty before adding NOT NULL column without default`, tableEmpty.sql, tableEmpty.params)],
226
- execute: [step(`add column "${columnName}"`, executeStepSql)],
248
+ execute: [step(`add column "${columnName}"`, addColumn.sql)],
227
249
  postcheck: [step(`verify column "${columnName}" exists`, present.sql, present.params), step(`verify column "${columnName}" is NOT NULL`, notNullable.sql, notNullable.params)]
228
250
  };
229
251
  }
@@ -344,7 +366,7 @@ async function dropCheckConstraint(schemaName, tableName, constraintName, lowere
344
366
  * `kind` feeds the operation's `target.details.objectType`. Descriptor-flow
345
367
  * does not carry kind information in its drop-constraint descriptor, so the
346
368
  * default is `'unique'`. The reconciliation planner passes the correct kind
347
- * (`'foreignKey'`, `'primaryKey'`, or `'unique'`) based on the `SchemaIssue`
369
+ * (`'foreignKey'`, `'primaryKey'`, or `'unique'`) based on the diff issue
348
370
  * that produced the drop.
349
371
  */
350
372
  async function dropConstraint(schemaName, tableName, constraintName, lowerer, kind = "unique") {
@@ -405,7 +427,7 @@ async function installExtension(options, lowerer) {
405
427
  target: {
406
428
  id: "postgres",
407
429
  details: {
408
- schema: "public",
430
+ schema: DEFAULT_NAMESPACE_ID,
409
431
  objectType: "dependency",
410
432
  name: extensionName
411
433
  }
@@ -463,6 +485,175 @@ async function dropIndex(schemaName, tableName, indexName, lowerer) {
463
485
  };
464
486
  }
465
487
  //#endregion
488
+ //#region src/core/migrations/operations/native-enum-types.ts
489
+ /**
490
+ * `CREATE TYPE <qualified> AS ENUM (…)` for a managed native enum, built as a
491
+ * typed DDL node and lowered by the control adapter (the type name is quoted,
492
+ * member values render as escaped string literals in declaration order —
493
+ * Postgres enum sort order is semantic). `boundSchema` maps the unbound sentinel
494
+ * to an absent schema so the type name renders unqualified and the connection's
495
+ * `search_path` resolves the schema at runtime.
496
+ */
497
+ async function createNativeEnumType(schemaName, typeName, members, lowerer) {
498
+ for (const member of members) validateEnumValueLength(member, typeName);
499
+ const ddlNode = createType({
500
+ ...ifDefined("schema", boundSchema(schemaName)),
501
+ name: typeName,
502
+ values: members
503
+ });
504
+ const statement = await lowerer.lowerToExecuteRequest(ddlNode);
505
+ return {
506
+ id: `createNativeEnumType.${typeName}`,
507
+ label: `Create enum type "${typeName}"`,
508
+ operationClass: "additive",
509
+ target: targetDetails("type", typeName, schemaName),
510
+ precheck: [],
511
+ execute: [step(`create enum type "${typeName}"`, statement.sql, statement.params)],
512
+ postcheck: []
513
+ };
514
+ }
515
+ /** `DROP TYPE <qualified>` for an unclaimed managed native enum, via typed DDL. */
516
+ async function dropNativeEnumType(schemaName, typeName, lowerer) {
517
+ const ddlNode = dropType({
518
+ ...ifDefined("schema", boundSchema(schemaName)),
519
+ name: typeName
520
+ });
521
+ const statement = await lowerer.lowerToExecuteRequest(ddlNode);
522
+ return {
523
+ id: `dropNativeEnumType.${typeName}`,
524
+ label: `Drop enum type "${typeName}"`,
525
+ operationClass: "destructive",
526
+ target: targetDetails("type", typeName, schemaName),
527
+ precheck: [],
528
+ execute: [step(`drop enum type "${typeName}"`, statement.sql, statement.params)],
529
+ postcheck: []
530
+ };
531
+ }
532
+ //#endregion
533
+ //#region src/core/migrations/operations/rls.ts
534
+ const PLAIN_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_$]*$/;
535
+ function validateRoleName(role) {
536
+ if (!PLAIN_IDENTIFIER.test(role)) throw new Error(`Invalid role name ${JSON.stringify(role)}: role names must be plain SQL identifiers matching ^[A-Za-z_][A-Za-z0-9_$]*$`);
537
+ return role;
538
+ }
539
+ async function createRlsPolicy(schemaName, tableName, policy, lowerer) {
540
+ const validatedRoles = policy.roles.map(validateRoleName);
541
+ const ddlNode = createPolicy({
542
+ schema: schemaName,
543
+ table: tableName,
544
+ name: policy.name,
545
+ permissive: policy.permissive,
546
+ operation: policy.operation,
547
+ roles: validatedRoles,
548
+ ...ifDefined("using", policy.using),
549
+ ...ifDefined("withCheck", policy.withCheck)
550
+ });
551
+ const checks = rlsPolicyExistsAst({
552
+ schema: schemaName,
553
+ table: tableName,
554
+ policyName: policy.name
555
+ });
556
+ const absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());
557
+ const execute = await lowerer.lowerToExecuteRequest(ddlNode);
558
+ const present = await lowerer.lowerToExecuteRequest(checks.policyPresent());
559
+ return {
560
+ id: `rlsPolicy.${schemaName}.${tableName}.${policy.name}`,
561
+ label: `Create RLS policy "${policy.name}" on "${tableName}"`,
562
+ operationClass: "additive",
563
+ target: targetDetails("rlsPolicy", policy.name, schemaName, tableName),
564
+ precheck: [step(`ensure RLS policy "${policy.name}" does not exist`, absent.sql, absent.params)],
565
+ execute: [step(`create RLS policy "${policy.name}"`, execute.sql, execute.params)],
566
+ postcheck: [step(`verify RLS policy "${policy.name}" exists`, present.sql, present.params)]
567
+ };
568
+ }
569
+ async function dropRlsPolicy(schemaName, tableName, policyName, lowerer) {
570
+ const ddlNode = dropPolicy({
571
+ schema: schemaName,
572
+ table: tableName,
573
+ name: policyName
574
+ });
575
+ const checks = rlsPolicyExistsAst({
576
+ schema: schemaName,
577
+ table: tableName,
578
+ policyName
579
+ });
580
+ const present = await lowerer.lowerToExecuteRequest(checks.policyPresent());
581
+ const execute = await lowerer.lowerToExecuteRequest(ddlNode);
582
+ const absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());
583
+ return {
584
+ id: `rlsPolicy.${schemaName}.${tableName}.${policyName}.drop`,
585
+ label: `Drop RLS policy "${policyName}" on "${tableName}"`,
586
+ operationClass: "destructive",
587
+ target: targetDetails("rlsPolicy", policyName, schemaName, tableName),
588
+ precheck: [step(`ensure RLS policy "${policyName}" exists`, present.sql, present.params)],
589
+ execute: [step(`drop RLS policy "${policyName}"`, execute.sql, execute.params)],
590
+ postcheck: [step(`verify RLS policy "${policyName}" is absent`, absent.sql, absent.params)]
591
+ };
592
+ }
593
+ async function enableRowLevelSecurity(schemaName, tableName, lowerer) {
594
+ const checks = rlsEnabledAst(schemaName, tableName);
595
+ const disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());
596
+ const enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());
597
+ return {
598
+ id: `rowLevelSecurity.${schemaName}.${tableName}`,
599
+ label: `Enable row-level security on "${tableName}"`,
600
+ operationClass: "additive",
601
+ target: targetDetails("rowLevelSecurity", tableName, schemaName),
602
+ precheck: [step(`check RLS is not already enabled on "${tableName}"`, disabled.sql, disabled.params)],
603
+ execute: [step(`enable row-level security on "${tableName}"`, `ALTER TABLE ${qualifyTableName(schemaName, tableName)} ENABLE ROW LEVEL SECURITY`)],
604
+ postcheck: [step(`verify row-level security is enabled on "${tableName}"`, enabled.sql, enabled.params)]
605
+ };
606
+ }
607
+ async function disableRowLevelSecurity(schemaName, tableName, lowerer) {
608
+ const ddlNode = disableRowLevelSecurity$1({
609
+ schema: schemaName,
610
+ table: tableName
611
+ });
612
+ const checks = rlsEnabledAst(schemaName, tableName);
613
+ const enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());
614
+ const execute = await lowerer.lowerToExecuteRequest(ddlNode);
615
+ const disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());
616
+ return {
617
+ id: `rowLevelSecurity.${schemaName}.${tableName}.disable`,
618
+ label: `Disable row-level security on "${tableName}"`,
619
+ operationClass: "destructive",
620
+ target: targetDetails("rowLevelSecurity", tableName, schemaName),
621
+ precheck: [step(`check RLS is currently enabled on "${tableName}"`, enabled.sql, enabled.params)],
622
+ execute: [step(`disable row-level security on "${tableName}"`, execute.sql, execute.params)],
623
+ postcheck: [step(`verify row-level security is disabled on "${tableName}"`, disabled.sql, disabled.params)]
624
+ };
625
+ }
626
+ async function renameRlsPolicy(schemaName, tableName, oldPolicyName, newPolicyName, lowerer) {
627
+ const ddlNode = alterPolicyRename({
628
+ schema: schemaName,
629
+ table: tableName,
630
+ name: oldPolicyName,
631
+ newName: newPolicyName
632
+ });
633
+ const oldChecks = rlsPolicyExistsAst({
634
+ schema: schemaName,
635
+ table: tableName,
636
+ policyName: oldPolicyName
637
+ });
638
+ const newChecks = rlsPolicyExistsAst({
639
+ schema: schemaName,
640
+ table: tableName,
641
+ policyName: newPolicyName
642
+ });
643
+ const oldPresent = await lowerer.lowerToExecuteRequest(oldChecks.policyPresent());
644
+ const execute = await lowerer.lowerToExecuteRequest(ddlNode);
645
+ const newPresent = await lowerer.lowerToExecuteRequest(newChecks.policyPresent());
646
+ return {
647
+ id: `rlsPolicy.${schemaName}.${tableName}.${oldPolicyName}.rename`,
648
+ label: `Rename RLS policy "${oldPolicyName}" to "${newPolicyName}" on "${tableName}"`,
649
+ operationClass: "widening",
650
+ target: targetDetails("rlsPolicy", newPolicyName, schemaName, tableName),
651
+ precheck: [step(`ensure RLS policy "${oldPolicyName}" exists`, oldPresent.sql, oldPresent.params)],
652
+ execute: [step(`rename RLS policy "${oldPolicyName}" to "${newPolicyName}"`, execute.sql, execute.params)],
653
+ postcheck: [step(`verify RLS policy "${newPolicyName}" exists`, newPresent.sql, newPresent.params)]
654
+ };
655
+ }
656
+ //#endregion
466
657
  //#region src/core/migrations/operations/tables.ts
467
658
  async function dropTable(schemaName, tableName, lowerer) {
468
659
  const qualified = qualifyTableName(schemaName, tableName);
@@ -504,7 +695,20 @@ function buildAddColumnOperationIdentity(schema, tableName, columnName) {
504
695
  }
505
696
  async function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {
506
697
  const { schema, tableName, columnName, column, codecHooks, storageTypes, temporaryDefault, lowerer } = options;
507
- const qualified = qualifyTableName(schema, tableName);
698
+ const ddlColumn = col(columnName, buildColumnTypeSql(column, codecHooks, storageTypes), {
699
+ notNull: true,
700
+ default: new FunctionColumnDefault(temporaryDefault)
701
+ });
702
+ const addColumn = await lowerer.lowerToExecuteRequest(alterTable({
703
+ ...ifDefined("schema", boundSchema(schema)),
704
+ table: tableName,
705
+ actions: [addColumnAction(ddlColumn)]
706
+ }));
707
+ const dropTempDefault = await lowerer.lowerToExecuteRequest(alterTable({
708
+ ...ifDefined("schema", boundSchema(schema)),
709
+ table: tableName,
710
+ actions: [dropDefaultAction(columnName)]
711
+ }));
508
712
  const absent = await lowerer.lowerToExecuteRequest(columnExistsAst({
509
713
  schema,
510
714
  table: tableName,
@@ -532,10 +736,10 @@ async function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {
532
736
  precheck: [step(`ensure column "${columnName}" is missing`, absent.sql, absent.params)],
533
737
  execute: [{
534
738
  description: `add column "${columnName}"`,
535
- sql: buildAddColumnSql(qualified, columnName, column, codecHooks, temporaryDefault, storageTypes)
739
+ sql: addColumn.sql
536
740
  }, {
537
741
  description: `drop temporary default from column "${columnName}"`,
538
- sql: `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} DROP DEFAULT`
742
+ sql: dropTempDefault.sql
539
743
  }],
540
744
  postcheck: [
541
745
  step(`verify column "${columnName}" exists`, present.sql, present.params),
@@ -568,9 +772,6 @@ async function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {
568
772
  * `PostgresOpFactoryCall` union.
569
773
  */
570
774
  const POSTGRES_MIGRATION_FACADE = "@prisma-next/postgres/migration";
571
- function boundSchema(schemaName) {
572
- return schemaName === UNBOUND_NAMESPACE_ID ? void 0 : schemaName;
573
- }
574
775
  var PostgresOpFactoryCallNode = class extends TsExpression {
575
776
  importRequirements() {
576
777
  return [{
@@ -625,6 +826,7 @@ function renderDdlConstraintAsTsCall(constraint) {
625
826
  const nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : "";
626
827
  return `unique(${jsonToTsSource(constraint.columns)}${nameOpt})`;
627
828
  }
829
+ case "check-expression": return `checkExpression(${jsonToTsSource(constraint.name)}, ${jsonToTsSource(constraint.expression)})`;
628
830
  }
629
831
  }
630
832
  function needsColOrConstraintImport(columns) {
@@ -636,6 +838,7 @@ function constraintImportSymbols(constraints) {
636
838
  for (const c of constraints) if (c.kind === "primary-key") symbols.add("primaryKey");
637
839
  else if (c.kind === "foreign-key") symbols.add("foreignKey");
638
840
  else if (c.kind === "unique") symbols.add("unique");
841
+ else if (c.kind === "check-expression") symbols.add("checkExpression");
639
842
  return [...symbols];
640
843
  }
641
844
  function defaultImportSymbols(columns) {
@@ -998,10 +1201,8 @@ var DropDefaultCall = class extends PostgresOpFactoryCallNode {
998
1201
  };
999
1202
  /**
1000
1203
  * Planner-internal call for adding a NOT NULL column (no contract default) to
1001
- * a table that must be empty at migration time. Carries the raw ADD COLUMN SQL
1002
- * (produced by `buildAddColumnSql` at plan time deferred from slice-7 typed
1003
- * DDL) plus the parameters needed to lower the typed pre/postchecks at render
1004
- * time.
1204
+ * a table that must be empty at migration time. Carries the typed `DdlColumn`
1205
+ * and lowers it to an ADD COLUMN execute step via the adapter at `toOp` time.
1005
1206
  *
1006
1207
  * No authored `PostgresMigration` method: this call is only emitted by the
1007
1208
  * planner, never hand-written by migration authors.
@@ -1012,20 +1213,20 @@ var AddNotNullColumnDirectCall = class extends PostgresOpFactoryCallNode {
1012
1213
  schemaName;
1013
1214
  tableName;
1014
1215
  columnName;
1015
- executeStepSql;
1216
+ column;
1016
1217
  label;
1017
- constructor(schemaName, tableName, columnName, executeStepSql) {
1218
+ constructor(schemaName, tableName, columnName, column) {
1018
1219
  super();
1019
1220
  this.schemaName = schemaName;
1020
1221
  this.tableName = tableName;
1021
1222
  this.columnName = columnName;
1022
- this.executeStepSql = executeStepSql;
1223
+ this.column = column;
1023
1224
  this.label = `Add column ${columnName} to ${tableName}`;
1024
1225
  this.freeze();
1025
1226
  }
1026
1227
  async toOp(lowerer) {
1027
1228
  if (lowerer === void 0) throw new Error(`AddNotNullColumnDirectCall.toOp: a lowerer is required on the Postgres planner path (column "${this.columnName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1028
- return addNotNullColumnDirect(this.schemaName, this.tableName, this.columnName, this.executeStepSql, lowerer);
1229
+ return addNotNullColumnDirect(this.schemaName, this.tableName, this.column, lowerer);
1029
1230
  }
1030
1231
  renderTypeScript() {
1031
1232
  return `rawSql(${jsonToTsSource({
@@ -1041,9 +1242,9 @@ var AddNotNullColumnDirectCall = class extends PostgresOpFactoryCallNode {
1041
1242
  /**
1042
1243
  * Planner-internal call for adding a NOT NULL column (no contract default)
1043
1244
  * using a temporary default value for non-empty tables. Carries all parameters
1044
- * needed for `buildAddNotNullColumnWithTemporaryDefaultOperation`; the typed
1045
- * pre/postchecks are lowered at render time via `toOp(lowerer)`. The execute
1046
- * SQL (`buildAddColumnSql`) is still raw per slice-7 deferral.
1245
+ * needed for `buildAddNotNullColumnWithTemporaryDefaultOperation`; both the
1246
+ * typed ADD COLUMN execute step and the pre/postchecks are lowered via the
1247
+ * adapter at `toOp` time.
1047
1248
  *
1048
1249
  * No authored `PostgresMigration` method: this call is only emitted by the
1049
1250
  * planner, never hand-written by migration authors.
@@ -1440,6 +1641,129 @@ var CreateSchemaCall = class extends PostgresOpFactoryCallNode {
1440
1641
  return [];
1441
1642
  }
1442
1643
  };
1644
+ var CreateNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {
1645
+ factoryName = "createNativeEnumType";
1646
+ operationClass = "additive";
1647
+ schemaName;
1648
+ typeName;
1649
+ members;
1650
+ label;
1651
+ constructor(schemaName, typeName, members) {
1652
+ super();
1653
+ this.schemaName = schemaName;
1654
+ this.typeName = typeName;
1655
+ this.members = Object.freeze([...members]);
1656
+ this.label = `Create enum type "${typeName}"`;
1657
+ this.freeze();
1658
+ }
1659
+ async toOp(lowerer) {
1660
+ if (lowerer === void 0) throw new Error(`CreateNativeEnumTypeCall.toOp: a DDL lowerer is required on the Postgres planner path (type "${this.typeName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1661
+ return createNativeEnumType(this.schemaName, this.typeName, this.members, lowerer);
1662
+ }
1663
+ renderTypeScript() {
1664
+ return `this.createNativeEnumType({ ${[
1665
+ `schema: ${jsonToTsSource(this.schemaName)}`,
1666
+ `typeName: ${jsonToTsSource(this.typeName)}`,
1667
+ `members: ${jsonToTsSource(this.members)}`
1668
+ ].join(", ")} })`;
1669
+ }
1670
+ importRequirements() {
1671
+ return [];
1672
+ }
1673
+ };
1674
+ var DropNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {
1675
+ factoryName = "dropNativeEnumType";
1676
+ operationClass = "destructive";
1677
+ schemaName;
1678
+ typeName;
1679
+ label;
1680
+ constructor(schemaName, typeName) {
1681
+ super();
1682
+ this.schemaName = schemaName;
1683
+ this.typeName = typeName;
1684
+ this.label = `Drop enum type "${typeName}"`;
1685
+ this.freeze();
1686
+ }
1687
+ async toOp(lowerer) {
1688
+ if (lowerer === void 0) throw new Error(`DropNativeEnumTypeCall.toOp: a DDL lowerer is required on the Postgres planner path (type "${this.typeName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1689
+ return dropNativeEnumType(this.schemaName, this.typeName, lowerer);
1690
+ }
1691
+ renderTypeScript() {
1692
+ return `this.dropNativeEnumType({ ${[`schema: ${jsonToTsSource(this.schemaName)}`, `typeName: ${jsonToTsSource(this.typeName)}`].join(", ")} })`;
1693
+ }
1694
+ importRequirements() {
1695
+ return [];
1696
+ }
1697
+ };
1698
+ /** Schema-qualified, quoted enum type name — unqualified when `schemaName` is the unbound sentinel, matching `boundSchema`'s DDL-node convention. */
1699
+ function qualifiedNativeEnumTypeName(schemaName, typeName) {
1700
+ const bound = boundSchema(schemaName);
1701
+ return quoteQualifiedName(bound === void 0 ? typeName : `${bound}.${typeName}`);
1702
+ }
1703
+ const ADD_VALUE_TRANSACTION_CAVEAT = "A newly added enum value cannot be used until the transaction that adds it commits, so a migration that both appends a value and uses it in the same step will fail at apply.";
1704
+ /**
1705
+ * `ALTER TYPE <qualified> ADD VALUE '<value>'` for a suffix-appended member on
1706
+ * a managed native enum. Built directly as SQL text (qualified via
1707
+ * `quoteQualifiedName`, the value escaped via `escapeLiteral`) rather than a
1708
+ * typed DDL node — mirrors how `enableRowLevelSecurity` renders its execute
1709
+ * step, since no DDL-AST node exists for this statement. Prechecks/postchecks
1710
+ * are still typed catalog queries lowered through the control adapter.
1711
+ * `validateEnumValueLength` runs at construction, so an over-length value
1712
+ * fails before planning produces a call.
1713
+ */
1714
+ var AddNativeEnumValueCall = class extends PostgresOpFactoryCallNode {
1715
+ factoryName = "addNativeEnumValue";
1716
+ operationClass = "additive";
1717
+ schemaName;
1718
+ typeName;
1719
+ value;
1720
+ label;
1721
+ summary;
1722
+ constructor(schemaName, typeName, value) {
1723
+ super();
1724
+ validateEnumValueLength(value, typeName);
1725
+ this.schemaName = schemaName;
1726
+ this.typeName = typeName;
1727
+ this.value = value;
1728
+ this.label = `Add value "${value}" to enum type "${typeName}"`;
1729
+ this.summary = `Adds value "${value}" to enum type "${typeName}". ${ADD_VALUE_TRANSACTION_CAVEAT}`;
1730
+ this.freeze();
1731
+ }
1732
+ async toOp(lowerer) {
1733
+ if (lowerer === void 0) throw new Error(`AddNativeEnumValueCall.toOp: a lowerer is required on the Postgres planner path (type "${this.typeName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1734
+ const { schemaName, typeName, value } = this;
1735
+ const typeChecks = nativeEnumTypeExistsAst(schemaName, typeName);
1736
+ const valueChecks = nativeEnumValueExistsAst({
1737
+ schema: schemaName,
1738
+ typeName,
1739
+ value
1740
+ });
1741
+ const typePresent = await lowerer.lowerToExecuteRequest(typeChecks.typePresent());
1742
+ const valueAbsent = await lowerer.lowerToExecuteRequest(valueChecks.valueAbsent());
1743
+ const valuePresent = await lowerer.lowerToExecuteRequest(valueChecks.valuePresent());
1744
+ const qualifiedType = qualifiedNativeEnumTypeName(schemaName, typeName);
1745
+ return {
1746
+ id: `addNativeEnumValue.${typeName}.${value}`,
1747
+ label: this.label,
1748
+ summary: this.summary,
1749
+ operationClass: "additive",
1750
+ target: targetDetails("type", typeName, schemaName),
1751
+ precheck: [step(`ensure enum type "${typeName}" exists`, typePresent.sql, typePresent.params), step(`ensure value "${value}" is absent from enum type "${typeName}"`, valueAbsent.sql, valueAbsent.params)],
1752
+ execute: [step(`add value "${value}" to enum type "${typeName}"`, `ALTER TYPE ${qualifiedType} ADD VALUE '${escapeLiteral(value)}'`)],
1753
+ postcheck: [step(`verify value "${value}" exists on enum type "${typeName}"`, valuePresent.sql, valuePresent.params)]
1754
+ };
1755
+ }
1756
+ renderTypeScript() {
1757
+ return `this.addNativeEnumValue({ ${[
1758
+ `schema: ${jsonToTsSource(this.schemaName)}`,
1759
+ `typeName: ${jsonToTsSource(this.typeName)}`,
1760
+ `value: ${jsonToTsSource(this.value)}`
1761
+ ].join(", ")} })`;
1762
+ }
1763
+ importRequirements() {
1764
+ return [];
1765
+ }
1766
+ };
1443
1767
  /**
1444
1768
  * A planner-generated data-transform stub. `checkSlot` and `runSlot` name
1445
1769
  * the unfilled authoring slots that the rendered `migration.ts` will expose
@@ -1484,7 +1808,120 @@ var DataTransformCall = class extends PostgresOpFactoryCallNode {
1484
1808
  }];
1485
1809
  }
1486
1810
  };
1811
+ var CreatePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
1812
+ factoryName = "createRlsPolicy";
1813
+ operationClass = "additive";
1814
+ schemaName;
1815
+ tableName;
1816
+ policy;
1817
+ label;
1818
+ constructor(schemaName, tableName, policy) {
1819
+ super();
1820
+ this.schemaName = schemaName;
1821
+ this.tableName = tableName;
1822
+ this.policy = policy;
1823
+ this.label = `Create RLS policy "${policy.name}" on "${tableName}"`;
1824
+ this.freeze();
1825
+ }
1826
+ async toOp(lowerer) {
1827
+ if (lowerer === void 0) throw new Error(`CreatePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy "${this.policy.name}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1828
+ return createRlsPolicy(this.schemaName, this.tableName, this.policy, lowerer);
1829
+ }
1830
+ renderTypeScript() {
1831
+ return `createRlsPolicy(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)}, ${jsonToTsSource(this.policy)})`;
1832
+ }
1833
+ };
1834
+ var DropPostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
1835
+ factoryName = "dropRlsPolicy";
1836
+ operationClass = "destructive";
1837
+ schemaName;
1838
+ tableName;
1839
+ policyName;
1840
+ label;
1841
+ constructor(schemaName, tableName, policyName) {
1842
+ super();
1843
+ this.schemaName = schemaName;
1844
+ this.tableName = tableName;
1845
+ this.policyName = policyName;
1846
+ this.label = `Drop RLS policy "${policyName}" on "${tableName}"`;
1847
+ this.freeze();
1848
+ }
1849
+ async toOp(lowerer) {
1850
+ if (lowerer === void 0) throw new Error(`DropPostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy "${this.policyName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1851
+ return dropRlsPolicy(this.schemaName, this.tableName, this.policyName, lowerer);
1852
+ }
1853
+ renderTypeScript() {
1854
+ return `dropRlsPolicy(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)}, ${jsonToTsSource(this.policyName)})`;
1855
+ }
1856
+ };
1857
+ var EnableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {
1858
+ factoryName = "enableRowLevelSecurity";
1859
+ operationClass = "additive";
1860
+ schemaName;
1861
+ tableName;
1862
+ label;
1863
+ constructor(schemaName, tableName) {
1864
+ super();
1865
+ this.schemaName = schemaName;
1866
+ this.tableName = tableName;
1867
+ this.label = `Enable row-level security on "${tableName}"`;
1868
+ this.freeze();
1869
+ }
1870
+ async toOp(lowerer) {
1871
+ if (lowerer === void 0) throw new Error(`EnableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1872
+ return enableRowLevelSecurity(this.schemaName, this.tableName, lowerer);
1873
+ }
1874
+ renderTypeScript() {
1875
+ return `enableRowLevelSecurity(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)})`;
1876
+ }
1877
+ };
1878
+ var DisableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {
1879
+ factoryName = "disableRowLevelSecurity";
1880
+ operationClass = "destructive";
1881
+ schemaName;
1882
+ tableName;
1883
+ label;
1884
+ constructor(schemaName, tableName) {
1885
+ super();
1886
+ this.schemaName = schemaName;
1887
+ this.tableName = tableName;
1888
+ this.label = `Disable row-level security on "${tableName}"`;
1889
+ this.freeze();
1890
+ }
1891
+ async toOp(lowerer) {
1892
+ if (lowerer === void 0) throw new Error(`DisableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1893
+ return disableRowLevelSecurity(this.schemaName, this.tableName, lowerer);
1894
+ }
1895
+ renderTypeScript() {
1896
+ return `disableRowLevelSecurity(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)})`;
1897
+ }
1898
+ };
1899
+ var RenamePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
1900
+ factoryName = "renameRlsPolicy";
1901
+ operationClass = "widening";
1902
+ schemaName;
1903
+ tableName;
1904
+ oldPolicyName;
1905
+ newPolicyName;
1906
+ label;
1907
+ constructor(schemaName, tableName, oldPolicyName, newPolicyName) {
1908
+ super();
1909
+ this.schemaName = schemaName;
1910
+ this.tableName = tableName;
1911
+ this.oldPolicyName = oldPolicyName;
1912
+ this.newPolicyName = newPolicyName;
1913
+ this.label = `Rename RLS policy "${oldPolicyName}" to "${newPolicyName}" on "${tableName}"`;
1914
+ this.freeze();
1915
+ }
1916
+ async toOp(lowerer) {
1917
+ if (lowerer === void 0) throw new Error(`RenamePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy "${this.oldPolicyName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1918
+ return renameRlsPolicy(this.schemaName, this.tableName, this.oldPolicyName, this.newPolicyName, lowerer);
1919
+ }
1920
+ renderTypeScript() {
1921
+ return `renameRlsPolicy(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)}, ${jsonToTsSource(this.oldPolicyName)}, ${jsonToTsSource(this.newPolicyName)})`;
1922
+ }
1923
+ };
1487
1924
  //#endregion
1488
- export { SetNotNullCall as C, installExtension as D, createExtension as E, SetDefaultCall as S, buildTargetDetails as T, DropDefaultCall as _, AddNotNullColumnWithTempDefaultCall as a, DropTableCall as b, AlterColumnTypeCall as c, CreateSchemaCall as d, CreateTableCall as f, DropConstraintCall as g, DropColumnCall as h, AddNotNullColumnDirectCall as i, CreateExtensionCall as l, DropCheckConstraintCall as m, AddColumnCall as n, AddPrimaryKeyCall as o, DataTransformCall as p, AddForeignKeyCall as r, AddUniqueCall as s, AddCheckConstraintCall as t, CreateIndexCall as u, DropIndexCall as v, postgresDefaultToDdlColumnDefault as w, RawSqlCall as x, DropNotNullCall as y };
1925
+ export { SetDefaultCall as A, DropNativeEnumTypeCall as C, EnableRowLevelSecurityCall as D, DropTableCall as E, installExtension as F, postgresDefaultToDdlColumnDefault as M, buildTargetDetails as N, RawSqlCall as O, createExtension as P, DropIndexCall as S, DropPostgresRlsPolicyCall as T, DisableRowLevelSecurityCall as _, AddNotNullColumnDirectCall as a, DropConstraintCall as b, AddUniqueCall as c, CreateIndexCall as d, CreateNativeEnumTypeCall as f, DataTransformCall as g, CreateTableCall as h, AddNativeEnumValueCall as i, SetNotNullCall as j, RenamePostgresRlsPolicyCall as k, AlterColumnTypeCall as l, CreateSchemaCall as m, AddColumnCall as n, AddNotNullColumnWithTempDefaultCall as o, CreatePostgresRlsPolicyCall as p, AddForeignKeyCall as r, AddPrimaryKeyCall as s, AddCheckConstraintCall as t, CreateExtensionCall as u, DropCheckConstraintCall as v, DropNotNullCall as w, DropDefaultCall as x, DropColumnCall as y };
1489
1926
 
1490
- //# sourceMappingURL=op-factory-call-D_p5vxwt.mjs.map
1927
+ //# sourceMappingURL=op-factory-call-D6yu-PlS.mjs.map