drizzle-kit 0.27.1 → 0.27.2
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.
- package/api.d.mts +14 -0
- package/api.d.ts +14 -0
- package/api.js +59 -25
- package/api.mjs +59 -25
- package/bin.cjs +73 -47
- package/package.json +1 -1
- package/utils.js +2 -1
- package/utils.mjs +2 -1
package/api.d.mts
CHANGED
|
@@ -782,10 +782,12 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
782
782
|
using: zod.ZodOptional<zod.ZodString>;
|
|
783
783
|
withCheck: zod.ZodOptional<zod.ZodString>;
|
|
784
784
|
on: zod.ZodOptional<zod.ZodString>;
|
|
785
|
+
schema: zod.ZodOptional<zod.ZodString>;
|
|
785
786
|
}, "strict", zod.ZodTypeAny, {
|
|
786
787
|
name: string;
|
|
787
788
|
using?: string | undefined;
|
|
788
789
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
790
|
+
schema?: string | undefined;
|
|
789
791
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
790
792
|
to?: string[] | undefined;
|
|
791
793
|
withCheck?: string | undefined;
|
|
@@ -794,6 +796,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
794
796
|
name: string;
|
|
795
797
|
using?: string | undefined;
|
|
796
798
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
799
|
+
schema?: string | undefined;
|
|
797
800
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
798
801
|
to?: string[] | undefined;
|
|
799
802
|
withCheck?: string | undefined;
|
|
@@ -881,6 +884,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
881
884
|
name: string;
|
|
882
885
|
using?: string | undefined;
|
|
883
886
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
887
|
+
schema?: string | undefined;
|
|
884
888
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
885
889
|
to?: string[] | undefined;
|
|
886
890
|
withCheck?: string | undefined;
|
|
@@ -958,6 +962,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
958
962
|
name: string;
|
|
959
963
|
using?: string | undefined;
|
|
960
964
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
965
|
+
schema?: string | undefined;
|
|
961
966
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
962
967
|
to?: string[] | undefined;
|
|
963
968
|
withCheck?: string | undefined;
|
|
@@ -1328,10 +1333,12 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1328
1333
|
using: zod.ZodOptional<zod.ZodString>;
|
|
1329
1334
|
withCheck: zod.ZodOptional<zod.ZodString>;
|
|
1330
1335
|
on: zod.ZodOptional<zod.ZodString>;
|
|
1336
|
+
schema: zod.ZodOptional<zod.ZodString>;
|
|
1331
1337
|
}, "strict", zod.ZodTypeAny, {
|
|
1332
1338
|
name: string;
|
|
1333
1339
|
using?: string | undefined;
|
|
1334
1340
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1341
|
+
schema?: string | undefined;
|
|
1335
1342
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1336
1343
|
to?: string[] | undefined;
|
|
1337
1344
|
withCheck?: string | undefined;
|
|
@@ -1340,6 +1347,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1340
1347
|
name: string;
|
|
1341
1348
|
using?: string | undefined;
|
|
1342
1349
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1350
|
+
schema?: string | undefined;
|
|
1343
1351
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1344
1352
|
to?: string[] | undefined;
|
|
1345
1353
|
withCheck?: string | undefined;
|
|
@@ -1485,6 +1493,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1485
1493
|
name: string;
|
|
1486
1494
|
using?: string | undefined;
|
|
1487
1495
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1496
|
+
schema?: string | undefined;
|
|
1488
1497
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1489
1498
|
to?: string[] | undefined;
|
|
1490
1499
|
withCheck?: string | undefined;
|
|
@@ -1570,6 +1579,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1570
1579
|
name: string;
|
|
1571
1580
|
using?: string | undefined;
|
|
1572
1581
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1582
|
+
schema?: string | undefined;
|
|
1573
1583
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1574
1584
|
to?: string[] | undefined;
|
|
1575
1585
|
withCheck?: string | undefined;
|
|
@@ -1673,6 +1683,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1673
1683
|
name: string;
|
|
1674
1684
|
using?: string | undefined;
|
|
1675
1685
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1686
|
+
schema?: string | undefined;
|
|
1676
1687
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1677
1688
|
to?: string[] | undefined;
|
|
1678
1689
|
withCheck?: string | undefined;
|
|
@@ -1768,6 +1779,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1768
1779
|
name: string;
|
|
1769
1780
|
using?: string | undefined;
|
|
1770
1781
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1782
|
+
schema?: string | undefined;
|
|
1771
1783
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1772
1784
|
to?: string[] | undefined;
|
|
1773
1785
|
withCheck?: string | undefined;
|
|
@@ -2363,6 +2375,7 @@ declare const upPgSnapshot: (snapshot: Record<string, unknown>) => {
|
|
|
2363
2375
|
}>;
|
|
2364
2376
|
policies: Record<string, {
|
|
2365
2377
|
name: string;
|
|
2378
|
+
schema?: string | undefined;
|
|
2366
2379
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
2367
2380
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
2368
2381
|
to?: string[] | undefined;
|
|
@@ -2378,6 +2391,7 @@ declare const upPgSnapshot: (snapshot: Record<string, unknown>) => {
|
|
|
2378
2391
|
}>;
|
|
2379
2392
|
policies: Record<string, {
|
|
2380
2393
|
name: string;
|
|
2394
|
+
schema?: string | undefined;
|
|
2381
2395
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
2382
2396
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
2383
2397
|
to?: string[] | undefined;
|
package/api.d.ts
CHANGED
|
@@ -782,10 +782,12 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
782
782
|
using: zod.ZodOptional<zod.ZodString>;
|
|
783
783
|
withCheck: zod.ZodOptional<zod.ZodString>;
|
|
784
784
|
on: zod.ZodOptional<zod.ZodString>;
|
|
785
|
+
schema: zod.ZodOptional<zod.ZodString>;
|
|
785
786
|
}, "strict", zod.ZodTypeAny, {
|
|
786
787
|
name: string;
|
|
787
788
|
using?: string | undefined;
|
|
788
789
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
790
|
+
schema?: string | undefined;
|
|
789
791
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
790
792
|
to?: string[] | undefined;
|
|
791
793
|
withCheck?: string | undefined;
|
|
@@ -794,6 +796,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
794
796
|
name: string;
|
|
795
797
|
using?: string | undefined;
|
|
796
798
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
799
|
+
schema?: string | undefined;
|
|
797
800
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
798
801
|
to?: string[] | undefined;
|
|
799
802
|
withCheck?: string | undefined;
|
|
@@ -881,6 +884,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
881
884
|
name: string;
|
|
882
885
|
using?: string | undefined;
|
|
883
886
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
887
|
+
schema?: string | undefined;
|
|
884
888
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
885
889
|
to?: string[] | undefined;
|
|
886
890
|
withCheck?: string | undefined;
|
|
@@ -958,6 +962,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
958
962
|
name: string;
|
|
959
963
|
using?: string | undefined;
|
|
960
964
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
965
|
+
schema?: string | undefined;
|
|
961
966
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
962
967
|
to?: string[] | undefined;
|
|
963
968
|
withCheck?: string | undefined;
|
|
@@ -1328,10 +1333,12 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1328
1333
|
using: zod.ZodOptional<zod.ZodString>;
|
|
1329
1334
|
withCheck: zod.ZodOptional<zod.ZodString>;
|
|
1330
1335
|
on: zod.ZodOptional<zod.ZodString>;
|
|
1336
|
+
schema: zod.ZodOptional<zod.ZodString>;
|
|
1331
1337
|
}, "strict", zod.ZodTypeAny, {
|
|
1332
1338
|
name: string;
|
|
1333
1339
|
using?: string | undefined;
|
|
1334
1340
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1341
|
+
schema?: string | undefined;
|
|
1335
1342
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1336
1343
|
to?: string[] | undefined;
|
|
1337
1344
|
withCheck?: string | undefined;
|
|
@@ -1340,6 +1347,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1340
1347
|
name: string;
|
|
1341
1348
|
using?: string | undefined;
|
|
1342
1349
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1350
|
+
schema?: string | undefined;
|
|
1343
1351
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1344
1352
|
to?: string[] | undefined;
|
|
1345
1353
|
withCheck?: string | undefined;
|
|
@@ -1485,6 +1493,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1485
1493
|
name: string;
|
|
1486
1494
|
using?: string | undefined;
|
|
1487
1495
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1496
|
+
schema?: string | undefined;
|
|
1488
1497
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1489
1498
|
to?: string[] | undefined;
|
|
1490
1499
|
withCheck?: string | undefined;
|
|
@@ -1570,6 +1579,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1570
1579
|
name: string;
|
|
1571
1580
|
using?: string | undefined;
|
|
1572
1581
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1582
|
+
schema?: string | undefined;
|
|
1573
1583
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1574
1584
|
to?: string[] | undefined;
|
|
1575
1585
|
withCheck?: string | undefined;
|
|
@@ -1673,6 +1683,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1673
1683
|
name: string;
|
|
1674
1684
|
using?: string | undefined;
|
|
1675
1685
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1686
|
+
schema?: string | undefined;
|
|
1676
1687
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1677
1688
|
to?: string[] | undefined;
|
|
1678
1689
|
withCheck?: string | undefined;
|
|
@@ -1768,6 +1779,7 @@ declare const pgSchema: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
|
1768
1779
|
name: string;
|
|
1769
1780
|
using?: string | undefined;
|
|
1770
1781
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
1782
|
+
schema?: string | undefined;
|
|
1771
1783
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
1772
1784
|
to?: string[] | undefined;
|
|
1773
1785
|
withCheck?: string | undefined;
|
|
@@ -2363,6 +2375,7 @@ declare const upPgSnapshot: (snapshot: Record<string, unknown>) => {
|
|
|
2363
2375
|
}>;
|
|
2364
2376
|
policies: Record<string, {
|
|
2365
2377
|
name: string;
|
|
2378
|
+
schema?: string | undefined;
|
|
2366
2379
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
2367
2380
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
2368
2381
|
to?: string[] | undefined;
|
|
@@ -2378,6 +2391,7 @@ declare const upPgSnapshot: (snapshot: Record<string, unknown>) => {
|
|
|
2378
2391
|
}>;
|
|
2379
2392
|
policies: Record<string, {
|
|
2380
2393
|
name: string;
|
|
2394
|
+
schema?: string | undefined;
|
|
2381
2395
|
as?: "PERMISSIVE" | "RESTRICTIVE" | undefined;
|
|
2382
2396
|
for?: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | undefined;
|
|
2383
2397
|
to?: string[] | undefined;
|
package/api.js
CHANGED
|
@@ -7756,7 +7756,8 @@ var init_pgSchema = __esm({
|
|
|
7756
7756
|
to: stringType().array().optional(),
|
|
7757
7757
|
using: stringType().optional(),
|
|
7758
7758
|
withCheck: stringType().optional(),
|
|
7759
|
-
on: stringType().optional()
|
|
7759
|
+
on: stringType().optional(),
|
|
7760
|
+
schema: stringType().optional()
|
|
7760
7761
|
}).strict();
|
|
7761
7762
|
policySquashed = objectType({
|
|
7762
7763
|
name: stringType(),
|
|
@@ -8091,6 +8092,16 @@ var init_pgSchema = __esm({
|
|
|
8091
8092
|
squashPolicyPush: (policy4) => {
|
|
8092
8093
|
return `${policy4.name}--${policy4.as}--${policy4.for}--${policy4.to?.join(",")}--${policy4.on}`;
|
|
8093
8094
|
},
|
|
8095
|
+
unsquashPolicyPush: (policy4) => {
|
|
8096
|
+
const splitted = policy4.split("--");
|
|
8097
|
+
return {
|
|
8098
|
+
name: splitted[0],
|
|
8099
|
+
as: splitted[1],
|
|
8100
|
+
for: splitted[2],
|
|
8101
|
+
to: splitted[3].split(","),
|
|
8102
|
+
on: splitted[4] !== "undefined" ? splitted[4] : void 0
|
|
8103
|
+
};
|
|
8104
|
+
},
|
|
8094
8105
|
squashPK: (pk) => {
|
|
8095
8106
|
return `${pk.columns.join(",")};${pk.name}`;
|
|
8096
8107
|
},
|
|
@@ -12053,9 +12064,9 @@ var init_sqlgenerator = __esm({
|
|
|
12053
12064
|
can(statement, dialect4) {
|
|
12054
12065
|
return statement.type === "alter_policy" && dialect4 === "postgresql";
|
|
12055
12066
|
}
|
|
12056
|
-
convert(statement) {
|
|
12057
|
-
const newPolicy = PgSquasher.unsquashPolicy(statement.newData);
|
|
12058
|
-
const oldPolicy = PgSquasher.unsquashPolicy(statement.oldData);
|
|
12067
|
+
convert(statement, _dialect, action) {
|
|
12068
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(statement.newData) : PgSquasher.unsquashPolicy(statement.newData);
|
|
12069
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(statement.oldData) : PgSquasher.unsquashPolicy(statement.oldData);
|
|
12059
12070
|
const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
|
|
12060
12071
|
const usingPart = newPolicy.using ? ` USING (${newPolicy.using})` : oldPolicy.using ? ` USING (${oldPolicy.using})` : "";
|
|
12061
12072
|
const withCheckPart = newPolicy.withCheck ? ` WITH CHECK (${newPolicy.withCheck})` : oldPolicy.withCheck ? ` WITH CHECK (${oldPolicy.withCheck})` : "";
|
|
@@ -12775,7 +12786,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
|
12775
12786
|
can(statement, dialect4) {
|
|
12776
12787
|
return statement.type === "drop_table" && dialect4 === "postgresql";
|
|
12777
12788
|
}
|
|
12778
|
-
convert(statement) {
|
|
12789
|
+
convert(statement, _d5, action) {
|
|
12779
12790
|
const { tableName, schema: schema4, policies } = statement;
|
|
12780
12791
|
const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
|
|
12781
12792
|
const dropPolicyConvertor = new PgDropPolicyConvertor();
|
|
@@ -12783,7 +12794,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
|
12783
12794
|
return dropPolicyConvertor.convert({
|
|
12784
12795
|
type: "drop_policy",
|
|
12785
12796
|
tableName,
|
|
12786
|
-
data: PgSquasher.unsquashPolicy(p),
|
|
12797
|
+
data: action === "push" ? PgSquasher.unsquashPolicyPush(p) : PgSquasher.unsquashPolicy(p),
|
|
12787
12798
|
schema: schema4
|
|
12788
12799
|
});
|
|
12789
12800
|
}) ?? [];
|
|
@@ -16770,8 +16781,10 @@ var init_snapshotsDiffer = __esm({
|
|
|
16770
16781
|
const { renamed, created: created2, deleted: deleted2 } = await policyResolver2({
|
|
16771
16782
|
tableName: entry.name,
|
|
16772
16783
|
schema: entry.schema,
|
|
16773
|
-
deleted: entry.policies.deleted.map(
|
|
16774
|
-
|
|
16784
|
+
deleted: entry.policies.deleted.map(
|
|
16785
|
+
action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy
|
|
16786
|
+
),
|
|
16787
|
+
created: entry.policies.added.map(action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy)
|
|
16775
16788
|
});
|
|
16776
16789
|
if (created2.length > 0) {
|
|
16777
16790
|
policyCreates.push({
|
|
@@ -16811,7 +16824,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
16811
16824
|
(policyKey, policy4) => {
|
|
16812
16825
|
const rens = policyRenamesDict[`${tableValue.schema || "public"}.${tableValue.name}`] || [];
|
|
16813
16826
|
const newName = columnChangeFor(policyKey, rens);
|
|
16814
|
-
const unsquashedPolicy = PgSquasher.unsquashPolicy(policy4);
|
|
16827
|
+
const unsquashedPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(policy4) : PgSquasher.unsquashPolicy(policy4);
|
|
16815
16828
|
unsquashedPolicy.name = newName;
|
|
16816
16829
|
policy4 = PgSquasher.squashPolicy(unsquashedPolicy);
|
|
16817
16830
|
return newName;
|
|
@@ -16825,8 +16838,12 @@ var init_snapshotsDiffer = __esm({
|
|
|
16825
16838
|
const indPolicyCreates = [];
|
|
16826
16839
|
const indPolicyDeletes = [];
|
|
16827
16840
|
const { renamed: indPolicyRenames, created, deleted } = await indPolicyResolver2({
|
|
16828
|
-
deleted: indPolicyRes.deleted.map(
|
|
16829
|
-
|
|
16841
|
+
deleted: indPolicyRes.deleted.map(
|
|
16842
|
+
(t) => action === "push" ? PgSquasher.unsquashPolicyPush(t.values) : PgSquasher.unsquashPolicy(t.values)
|
|
16843
|
+
),
|
|
16844
|
+
created: indPolicyRes.added.map(
|
|
16845
|
+
(t) => action === "push" ? PgSquasher.unsquashPolicyPush(t.values) : PgSquasher.unsquashPolicy(t.values)
|
|
16846
|
+
)
|
|
16830
16847
|
});
|
|
16831
16848
|
if (created.length > 0) {
|
|
16832
16849
|
indPolicyCreates.push({
|
|
@@ -17101,9 +17118,9 @@ var init_snapshotsDiffer = __esm({
|
|
|
17101
17118
|
);
|
|
17102
17119
|
}
|
|
17103
17120
|
typedResult.alteredPolicies.forEach(({ values }) => {
|
|
17104
|
-
const policy4 = PgSquasher.unsquashPolicy(values);
|
|
17105
|
-
const newPolicy = PgSquasher.unsquashPolicy(json22.policies[policy4.name].values);
|
|
17106
|
-
const oldPolicy = PgSquasher.unsquashPolicy(json1.policies[policy4.name].values);
|
|
17121
|
+
const policy4 = action === "push" ? PgSquasher.unsquashPolicyPush(values) : PgSquasher.unsquashPolicy(values);
|
|
17122
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(json22.policies[policy4.name].values) : PgSquasher.unsquashPolicy(json22.policies[policy4.name].values);
|
|
17123
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(json22.policies[policy4.name].values) : PgSquasher.unsquashPolicy(json1.policies[policy4.name].values);
|
|
17107
17124
|
if (newPolicy.as !== oldPolicy.as) {
|
|
17108
17125
|
jsonDropIndPoliciesStatements.push(
|
|
17109
17126
|
...prepareDropIndPolicyJsons(
|
|
@@ -17162,8 +17179,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
17162
17179
|
}
|
|
17163
17180
|
alteredTables.forEach((it) => {
|
|
17164
17181
|
Object.keys(it.alteredPolicies).forEach((policyName) => {
|
|
17165
|
-
const newPolicy = PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__new);
|
|
17166
|
-
const oldPolicy = PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__old);
|
|
17182
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(it.alteredPolicies[policyName].__new) : PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__new);
|
|
17183
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(it.alteredPolicies[policyName].__old) : PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__old);
|
|
17167
17184
|
if (newPolicy.as !== oldPolicy.as) {
|
|
17168
17185
|
jsonDropPoliciesStatements.push(
|
|
17169
17186
|
...prepareDropPolicyJsons(
|
|
@@ -17217,7 +17234,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
17217
17234
|
if (policiesInPreviousState.length > 0 && policiesInCurrentState.length === 0 && !table4.isRLSEnabled) {
|
|
17218
17235
|
jsonDisableRLSStatements.push({ type: "disable_rls", tableName: table4.name, schema: table4.schema });
|
|
17219
17236
|
}
|
|
17220
|
-
|
|
17237
|
+
const wasRlsEnabled = tableInPreviousState ? tableInPreviousState.isRLSEnabled : false;
|
|
17238
|
+
if (table4.isRLSEnabled !== wasRlsEnabled) {
|
|
17221
17239
|
if (table4.isRLSEnabled) {
|
|
17222
17240
|
jsonEnableRLSStatements.push({ type: "enable_rls", tableName: table4.name, schema: table4.schema });
|
|
17223
17241
|
} else if (!table4.isRLSEnabled && policiesInCurrentState.length === 0) {
|
|
@@ -17344,7 +17362,11 @@ var init_snapshotsDiffer = __esm({
|
|
|
17344
17362
|
});
|
|
17345
17363
|
jsonCreatePoliciesStatements.push(...[].concat(
|
|
17346
17364
|
...createdTables.map(
|
|
17347
|
-
(it) => prepareCreatePolicyJsons(
|
|
17365
|
+
(it) => prepareCreatePolicyJsons(
|
|
17366
|
+
it.name,
|
|
17367
|
+
it.schema,
|
|
17368
|
+
Object.values(it.policies).map(action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy)
|
|
17369
|
+
)
|
|
17348
17370
|
)
|
|
17349
17371
|
));
|
|
17350
17372
|
const createViews = [];
|
|
@@ -17559,7 +17581,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
17559
17581
|
}
|
|
17560
17582
|
return true;
|
|
17561
17583
|
});
|
|
17562
|
-
const sqlStatements = fromJson(filteredEnumsJsonStatements, "postgresql");
|
|
17584
|
+
const sqlStatements = fromJson(filteredEnumsJsonStatements, "postgresql", action);
|
|
17563
17585
|
const uniqueSqlStatements = [];
|
|
17564
17586
|
sqlStatements.forEach((ss) => {
|
|
17565
17587
|
if (!uniqueSqlStatements.includes(ss)) {
|
|
@@ -28824,6 +28846,7 @@ ${withStyle.errorWarning(
|
|
|
28824
28846
|
} else {
|
|
28825
28847
|
policiesToReturn[policy4.name] = {
|
|
28826
28848
|
...mappedPolicy,
|
|
28849
|
+
schema: tableConfig.schema ?? "public",
|
|
28827
28850
|
on: `"${tableConfig.schema ?? "public"}"."${tableConfig.name}"`
|
|
28828
28851
|
};
|
|
28829
28852
|
}
|
|
@@ -29032,9 +29055,10 @@ ${withStyle.errorWarning(
|
|
|
29032
29055
|
while (end > start && str[end - 1] === char3) --end;
|
|
29033
29056
|
return start > 0 || end < str.length ? str.substring(start, end) : str.toString();
|
|
29034
29057
|
};
|
|
29035
|
-
fromDatabase = async (db, tablesFilter = () => true, schemaFilters, entities, progressCallback) => {
|
|
29058
|
+
fromDatabase = async (db, tablesFilter = () => true, schemaFilters, entities, progressCallback, tsSchema) => {
|
|
29036
29059
|
const result = {};
|
|
29037
29060
|
const views = {};
|
|
29061
|
+
const policies = {};
|
|
29038
29062
|
const internals = { tables: {} };
|
|
29039
29063
|
const where = schemaFilters.map((t) => `n.nspname = '${t}'`).join(" or ");
|
|
29040
29064
|
const allTables = await db.query(
|
|
@@ -29160,7 +29184,8 @@ WHERE
|
|
|
29160
29184
|
}
|
|
29161
29185
|
}
|
|
29162
29186
|
}
|
|
29163
|
-
const
|
|
29187
|
+
const schemasForLinkedPoliciesInSchema = Object.values(tsSchema?.policies ?? {}).map((it) => it.schema);
|
|
29188
|
+
const wherePolicies = [...schemaFilters, ...schemasForLinkedPoliciesInSchema].map((t) => `schemaname = '${t}'`).join(" or ");
|
|
29164
29189
|
const policiesByTable = {};
|
|
29165
29190
|
const allPolicies = await db.query(`SELECT schemaname, tablename, policyname as name, permissive as "as", roles as to, cmd as for, qual as using, with_check as "withCheck" FROM pg_policies${wherePolicies === "" ? "" : ` WHERE ${wherePolicies}`};`);
|
|
29166
29191
|
for (const dbPolicy of allPolicies) {
|
|
@@ -29176,6 +29201,15 @@ WHERE
|
|
|
29176
29201
|
[dbPolicy.name]: { ...rest, to: parsedTo, withCheck: parsedWithCheck, using: parsedUsing }
|
|
29177
29202
|
};
|
|
29178
29203
|
}
|
|
29204
|
+
if (tsSchema?.policies[dbPolicy.name]) {
|
|
29205
|
+
policies[dbPolicy.name] = {
|
|
29206
|
+
...rest,
|
|
29207
|
+
to: parsedTo,
|
|
29208
|
+
withCheck: parsedWithCheck,
|
|
29209
|
+
using: parsedUsing,
|
|
29210
|
+
on: tsSchema?.policies[dbPolicy.name].on
|
|
29211
|
+
};
|
|
29212
|
+
}
|
|
29179
29213
|
}
|
|
29180
29214
|
if (progressCallback) {
|
|
29181
29215
|
progressCallback(
|
|
@@ -29768,7 +29802,7 @@ WHERE
|
|
|
29768
29802
|
schemas: schemasObject,
|
|
29769
29803
|
sequences: sequencesToReturn,
|
|
29770
29804
|
roles: rolesToReturn,
|
|
29771
|
-
policies
|
|
29805
|
+
policies,
|
|
29772
29806
|
views,
|
|
29773
29807
|
_meta: {
|
|
29774
29808
|
schemas: {},
|
|
@@ -39868,7 +39902,7 @@ init_mjs();
|
|
|
39868
39902
|
init_global();
|
|
39869
39903
|
init_pgSerializer();
|
|
39870
39904
|
init_views();
|
|
39871
|
-
var pgPushIntrospect = async (db, filters, schemaFilters, entities) => {
|
|
39905
|
+
var pgPushIntrospect = async (db, filters, schemaFilters, entities, tsSchema) => {
|
|
39872
39906
|
const matchers = filters.map((it) => {
|
|
39873
39907
|
return new Minimatch(it);
|
|
39874
39908
|
});
|
|
@@ -39896,7 +39930,7 @@ var pgPushIntrospect = async (db, filters, schemaFilters, entities) => {
|
|
|
39896
39930
|
);
|
|
39897
39931
|
const res = await (0, import_hanji3.renderWithTask)(
|
|
39898
39932
|
progress,
|
|
39899
|
-
fromDatabase(db, filter2, schemaFilters, entities)
|
|
39933
|
+
fromDatabase(db, filter2, schemaFilters, entities, void 0, tsSchema)
|
|
39900
39934
|
);
|
|
39901
39935
|
const schema4 = { id: originUUID, prevId: "", ...res };
|
|
39902
39936
|
const { internal, ...schemaWithoutInternals } = schema4;
|
|
@@ -40064,7 +40098,7 @@ var pgSuggestions = async (db, statements) => {
|
|
|
40064
40098
|
}
|
|
40065
40099
|
}
|
|
40066
40100
|
}
|
|
40067
|
-
const stmnt = fromJson([statement], "postgresql");
|
|
40101
|
+
const stmnt = fromJson([statement], "postgresql", "push");
|
|
40068
40102
|
if (typeof stmnt !== "undefined") {
|
|
40069
40103
|
statementsToExecute.push(...stmnt);
|
|
40070
40104
|
}
|
package/api.mjs
CHANGED
|
@@ -7761,7 +7761,8 @@ var init_pgSchema = __esm({
|
|
|
7761
7761
|
to: stringType().array().optional(),
|
|
7762
7762
|
using: stringType().optional(),
|
|
7763
7763
|
withCheck: stringType().optional(),
|
|
7764
|
-
on: stringType().optional()
|
|
7764
|
+
on: stringType().optional(),
|
|
7765
|
+
schema: stringType().optional()
|
|
7765
7766
|
}).strict();
|
|
7766
7767
|
policySquashed = objectType({
|
|
7767
7768
|
name: stringType(),
|
|
@@ -8096,6 +8097,16 @@ var init_pgSchema = __esm({
|
|
|
8096
8097
|
squashPolicyPush: (policy4) => {
|
|
8097
8098
|
return `${policy4.name}--${policy4.as}--${policy4.for}--${policy4.to?.join(",")}--${policy4.on}`;
|
|
8098
8099
|
},
|
|
8100
|
+
unsquashPolicyPush: (policy4) => {
|
|
8101
|
+
const splitted = policy4.split("--");
|
|
8102
|
+
return {
|
|
8103
|
+
name: splitted[0],
|
|
8104
|
+
as: splitted[1],
|
|
8105
|
+
for: splitted[2],
|
|
8106
|
+
to: splitted[3].split(","),
|
|
8107
|
+
on: splitted[4] !== "undefined" ? splitted[4] : void 0
|
|
8108
|
+
};
|
|
8109
|
+
},
|
|
8099
8110
|
squashPK: (pk) => {
|
|
8100
8111
|
return `${pk.columns.join(",")};${pk.name}`;
|
|
8101
8112
|
},
|
|
@@ -12058,9 +12069,9 @@ var init_sqlgenerator = __esm({
|
|
|
12058
12069
|
can(statement, dialect4) {
|
|
12059
12070
|
return statement.type === "alter_policy" && dialect4 === "postgresql";
|
|
12060
12071
|
}
|
|
12061
|
-
convert(statement) {
|
|
12062
|
-
const newPolicy = PgSquasher.unsquashPolicy(statement.newData);
|
|
12063
|
-
const oldPolicy = PgSquasher.unsquashPolicy(statement.oldData);
|
|
12072
|
+
convert(statement, _dialect, action) {
|
|
12073
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(statement.newData) : PgSquasher.unsquashPolicy(statement.newData);
|
|
12074
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(statement.oldData) : PgSquasher.unsquashPolicy(statement.oldData);
|
|
12064
12075
|
const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
|
|
12065
12076
|
const usingPart = newPolicy.using ? ` USING (${newPolicy.using})` : oldPolicy.using ? ` USING (${oldPolicy.using})` : "";
|
|
12066
12077
|
const withCheckPart = newPolicy.withCheck ? ` WITH CHECK (${newPolicy.withCheck})` : oldPolicy.withCheck ? ` WITH CHECK (${oldPolicy.withCheck})` : "";
|
|
@@ -12780,7 +12791,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
|
12780
12791
|
can(statement, dialect4) {
|
|
12781
12792
|
return statement.type === "drop_table" && dialect4 === "postgresql";
|
|
12782
12793
|
}
|
|
12783
|
-
convert(statement) {
|
|
12794
|
+
convert(statement, _d5, action) {
|
|
12784
12795
|
const { tableName, schema: schema4, policies } = statement;
|
|
12785
12796
|
const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
|
|
12786
12797
|
const dropPolicyConvertor = new PgDropPolicyConvertor();
|
|
@@ -12788,7 +12799,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
|
12788
12799
|
return dropPolicyConvertor.convert({
|
|
12789
12800
|
type: "drop_policy",
|
|
12790
12801
|
tableName,
|
|
12791
|
-
data: PgSquasher.unsquashPolicy(p),
|
|
12802
|
+
data: action === "push" ? PgSquasher.unsquashPolicyPush(p) : PgSquasher.unsquashPolicy(p),
|
|
12792
12803
|
schema: schema4
|
|
12793
12804
|
});
|
|
12794
12805
|
}) ?? [];
|
|
@@ -16775,8 +16786,10 @@ var init_snapshotsDiffer = __esm({
|
|
|
16775
16786
|
const { renamed, created: created2, deleted: deleted2 } = await policyResolver2({
|
|
16776
16787
|
tableName: entry.name,
|
|
16777
16788
|
schema: entry.schema,
|
|
16778
|
-
deleted: entry.policies.deleted.map(
|
|
16779
|
-
|
|
16789
|
+
deleted: entry.policies.deleted.map(
|
|
16790
|
+
action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy
|
|
16791
|
+
),
|
|
16792
|
+
created: entry.policies.added.map(action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy)
|
|
16780
16793
|
});
|
|
16781
16794
|
if (created2.length > 0) {
|
|
16782
16795
|
policyCreates.push({
|
|
@@ -16816,7 +16829,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
16816
16829
|
(policyKey, policy4) => {
|
|
16817
16830
|
const rens = policyRenamesDict[`${tableValue.schema || "public"}.${tableValue.name}`] || [];
|
|
16818
16831
|
const newName = columnChangeFor(policyKey, rens);
|
|
16819
|
-
const unsquashedPolicy = PgSquasher.unsquashPolicy(policy4);
|
|
16832
|
+
const unsquashedPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(policy4) : PgSquasher.unsquashPolicy(policy4);
|
|
16820
16833
|
unsquashedPolicy.name = newName;
|
|
16821
16834
|
policy4 = PgSquasher.squashPolicy(unsquashedPolicy);
|
|
16822
16835
|
return newName;
|
|
@@ -16830,8 +16843,12 @@ var init_snapshotsDiffer = __esm({
|
|
|
16830
16843
|
const indPolicyCreates = [];
|
|
16831
16844
|
const indPolicyDeletes = [];
|
|
16832
16845
|
const { renamed: indPolicyRenames, created, deleted } = await indPolicyResolver2({
|
|
16833
|
-
deleted: indPolicyRes.deleted.map(
|
|
16834
|
-
|
|
16846
|
+
deleted: indPolicyRes.deleted.map(
|
|
16847
|
+
(t) => action === "push" ? PgSquasher.unsquashPolicyPush(t.values) : PgSquasher.unsquashPolicy(t.values)
|
|
16848
|
+
),
|
|
16849
|
+
created: indPolicyRes.added.map(
|
|
16850
|
+
(t) => action === "push" ? PgSquasher.unsquashPolicyPush(t.values) : PgSquasher.unsquashPolicy(t.values)
|
|
16851
|
+
)
|
|
16835
16852
|
});
|
|
16836
16853
|
if (created.length > 0) {
|
|
16837
16854
|
indPolicyCreates.push({
|
|
@@ -17106,9 +17123,9 @@ var init_snapshotsDiffer = __esm({
|
|
|
17106
17123
|
);
|
|
17107
17124
|
}
|
|
17108
17125
|
typedResult.alteredPolicies.forEach(({ values }) => {
|
|
17109
|
-
const policy4 = PgSquasher.unsquashPolicy(values);
|
|
17110
|
-
const newPolicy = PgSquasher.unsquashPolicy(json22.policies[policy4.name].values);
|
|
17111
|
-
const oldPolicy = PgSquasher.unsquashPolicy(json1.policies[policy4.name].values);
|
|
17126
|
+
const policy4 = action === "push" ? PgSquasher.unsquashPolicyPush(values) : PgSquasher.unsquashPolicy(values);
|
|
17127
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(json22.policies[policy4.name].values) : PgSquasher.unsquashPolicy(json22.policies[policy4.name].values);
|
|
17128
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(json22.policies[policy4.name].values) : PgSquasher.unsquashPolicy(json1.policies[policy4.name].values);
|
|
17112
17129
|
if (newPolicy.as !== oldPolicy.as) {
|
|
17113
17130
|
jsonDropIndPoliciesStatements.push(
|
|
17114
17131
|
...prepareDropIndPolicyJsons(
|
|
@@ -17167,8 +17184,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
17167
17184
|
}
|
|
17168
17185
|
alteredTables.forEach((it) => {
|
|
17169
17186
|
Object.keys(it.alteredPolicies).forEach((policyName) => {
|
|
17170
|
-
const newPolicy = PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__new);
|
|
17171
|
-
const oldPolicy = PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__old);
|
|
17187
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(it.alteredPolicies[policyName].__new) : PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__new);
|
|
17188
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(it.alteredPolicies[policyName].__old) : PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__old);
|
|
17172
17189
|
if (newPolicy.as !== oldPolicy.as) {
|
|
17173
17190
|
jsonDropPoliciesStatements.push(
|
|
17174
17191
|
...prepareDropPolicyJsons(
|
|
@@ -17222,7 +17239,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
17222
17239
|
if (policiesInPreviousState.length > 0 && policiesInCurrentState.length === 0 && !table4.isRLSEnabled) {
|
|
17223
17240
|
jsonDisableRLSStatements.push({ type: "disable_rls", tableName: table4.name, schema: table4.schema });
|
|
17224
17241
|
}
|
|
17225
|
-
|
|
17242
|
+
const wasRlsEnabled = tableInPreviousState ? tableInPreviousState.isRLSEnabled : false;
|
|
17243
|
+
if (table4.isRLSEnabled !== wasRlsEnabled) {
|
|
17226
17244
|
if (table4.isRLSEnabled) {
|
|
17227
17245
|
jsonEnableRLSStatements.push({ type: "enable_rls", tableName: table4.name, schema: table4.schema });
|
|
17228
17246
|
} else if (!table4.isRLSEnabled && policiesInCurrentState.length === 0) {
|
|
@@ -17349,7 +17367,11 @@ var init_snapshotsDiffer = __esm({
|
|
|
17349
17367
|
});
|
|
17350
17368
|
jsonCreatePoliciesStatements.push(...[].concat(
|
|
17351
17369
|
...createdTables.map(
|
|
17352
|
-
(it) => prepareCreatePolicyJsons(
|
|
17370
|
+
(it) => prepareCreatePolicyJsons(
|
|
17371
|
+
it.name,
|
|
17372
|
+
it.schema,
|
|
17373
|
+
Object.values(it.policies).map(action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy)
|
|
17374
|
+
)
|
|
17353
17375
|
)
|
|
17354
17376
|
));
|
|
17355
17377
|
const createViews = [];
|
|
@@ -17564,7 +17586,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
17564
17586
|
}
|
|
17565
17587
|
return true;
|
|
17566
17588
|
});
|
|
17567
|
-
const sqlStatements = fromJson(filteredEnumsJsonStatements, "postgresql");
|
|
17589
|
+
const sqlStatements = fromJson(filteredEnumsJsonStatements, "postgresql", action);
|
|
17568
17590
|
const uniqueSqlStatements = [];
|
|
17569
17591
|
sqlStatements.forEach((ss) => {
|
|
17570
17592
|
if (!uniqueSqlStatements.includes(ss)) {
|
|
@@ -28829,6 +28851,7 @@ ${withStyle.errorWarning(
|
|
|
28829
28851
|
} else {
|
|
28830
28852
|
policiesToReturn[policy4.name] = {
|
|
28831
28853
|
...mappedPolicy,
|
|
28854
|
+
schema: tableConfig.schema ?? "public",
|
|
28832
28855
|
on: `"${tableConfig.schema ?? "public"}"."${tableConfig.name}"`
|
|
28833
28856
|
};
|
|
28834
28857
|
}
|
|
@@ -29037,9 +29060,10 @@ ${withStyle.errorWarning(
|
|
|
29037
29060
|
while (end > start && str[end - 1] === char3) --end;
|
|
29038
29061
|
return start > 0 || end < str.length ? str.substring(start, end) : str.toString();
|
|
29039
29062
|
};
|
|
29040
|
-
fromDatabase = async (db, tablesFilter = () => true, schemaFilters, entities, progressCallback) => {
|
|
29063
|
+
fromDatabase = async (db, tablesFilter = () => true, schemaFilters, entities, progressCallback, tsSchema) => {
|
|
29041
29064
|
const result = {};
|
|
29042
29065
|
const views = {};
|
|
29066
|
+
const policies = {};
|
|
29043
29067
|
const internals = { tables: {} };
|
|
29044
29068
|
const where = schemaFilters.map((t) => `n.nspname = '${t}'`).join(" or ");
|
|
29045
29069
|
const allTables = await db.query(
|
|
@@ -29165,7 +29189,8 @@ WHERE
|
|
|
29165
29189
|
}
|
|
29166
29190
|
}
|
|
29167
29191
|
}
|
|
29168
|
-
const
|
|
29192
|
+
const schemasForLinkedPoliciesInSchema = Object.values(tsSchema?.policies ?? {}).map((it) => it.schema);
|
|
29193
|
+
const wherePolicies = [...schemaFilters, ...schemasForLinkedPoliciesInSchema].map((t) => `schemaname = '${t}'`).join(" or ");
|
|
29169
29194
|
const policiesByTable = {};
|
|
29170
29195
|
const allPolicies = await db.query(`SELECT schemaname, tablename, policyname as name, permissive as "as", roles as to, cmd as for, qual as using, with_check as "withCheck" FROM pg_policies${wherePolicies === "" ? "" : ` WHERE ${wherePolicies}`};`);
|
|
29171
29196
|
for (const dbPolicy of allPolicies) {
|
|
@@ -29181,6 +29206,15 @@ WHERE
|
|
|
29181
29206
|
[dbPolicy.name]: { ...rest, to: parsedTo, withCheck: parsedWithCheck, using: parsedUsing }
|
|
29182
29207
|
};
|
|
29183
29208
|
}
|
|
29209
|
+
if (tsSchema?.policies[dbPolicy.name]) {
|
|
29210
|
+
policies[dbPolicy.name] = {
|
|
29211
|
+
...rest,
|
|
29212
|
+
to: parsedTo,
|
|
29213
|
+
withCheck: parsedWithCheck,
|
|
29214
|
+
using: parsedUsing,
|
|
29215
|
+
on: tsSchema?.policies[dbPolicy.name].on
|
|
29216
|
+
};
|
|
29217
|
+
}
|
|
29184
29218
|
}
|
|
29185
29219
|
if (progressCallback) {
|
|
29186
29220
|
progressCallback(
|
|
@@ -29773,7 +29807,7 @@ WHERE
|
|
|
29773
29807
|
schemas: schemasObject,
|
|
29774
29808
|
sequences: sequencesToReturn,
|
|
29775
29809
|
roles: rolesToReturn,
|
|
29776
|
-
policies
|
|
29810
|
+
policies,
|
|
29777
29811
|
views,
|
|
29778
29812
|
_meta: {
|
|
29779
29813
|
schemas: {},
|
|
@@ -39859,7 +39893,7 @@ init_mjs();
|
|
|
39859
39893
|
init_global();
|
|
39860
39894
|
init_pgSerializer();
|
|
39861
39895
|
init_views();
|
|
39862
|
-
var pgPushIntrospect = async (db, filters, schemaFilters, entities) => {
|
|
39896
|
+
var pgPushIntrospect = async (db, filters, schemaFilters, entities, tsSchema) => {
|
|
39863
39897
|
const matchers = filters.map((it) => {
|
|
39864
39898
|
return new Minimatch(it);
|
|
39865
39899
|
});
|
|
@@ -39887,7 +39921,7 @@ var pgPushIntrospect = async (db, filters, schemaFilters, entities) => {
|
|
|
39887
39921
|
);
|
|
39888
39922
|
const res = await (0, import_hanji3.renderWithTask)(
|
|
39889
39923
|
progress,
|
|
39890
|
-
fromDatabase(db, filter2, schemaFilters, entities)
|
|
39924
|
+
fromDatabase(db, filter2, schemaFilters, entities, void 0, tsSchema)
|
|
39891
39925
|
);
|
|
39892
39926
|
const schema4 = { id: originUUID, prevId: "", ...res };
|
|
39893
39927
|
const { internal, ...schemaWithoutInternals } = schema4;
|
|
@@ -40055,7 +40089,7 @@ var pgSuggestions = async (db, statements) => {
|
|
|
40055
40089
|
}
|
|
40056
40090
|
}
|
|
40057
40091
|
}
|
|
40058
|
-
const stmnt = fromJson([statement], "postgresql");
|
|
40092
|
+
const stmnt = fromJson([statement], "postgresql", "push");
|
|
40059
40093
|
if (typeof stmnt !== "undefined") {
|
|
40060
40094
|
statementsToExecute.push(...stmnt);
|
|
40061
40095
|
}
|
package/bin.cjs
CHANGED
|
@@ -6044,7 +6044,8 @@ var init_pgSchema = __esm({
|
|
|
6044
6044
|
to: stringType().array().optional(),
|
|
6045
6045
|
using: stringType().optional(),
|
|
6046
6046
|
withCheck: stringType().optional(),
|
|
6047
|
-
on: stringType().optional()
|
|
6047
|
+
on: stringType().optional(),
|
|
6048
|
+
schema: stringType().optional()
|
|
6048
6049
|
}).strict();
|
|
6049
6050
|
policySquashed = objectType({
|
|
6050
6051
|
name: stringType(),
|
|
@@ -6381,6 +6382,16 @@ var init_pgSchema = __esm({
|
|
|
6381
6382
|
var _a;
|
|
6382
6383
|
return `${policy4.name}--${policy4.as}--${policy4.for}--${(_a = policy4.to) == null ? void 0 : _a.join(",")}--${policy4.on}`;
|
|
6383
6384
|
},
|
|
6385
|
+
unsquashPolicyPush: (policy4) => {
|
|
6386
|
+
const splitted = policy4.split("--");
|
|
6387
|
+
return {
|
|
6388
|
+
name: splitted[0],
|
|
6389
|
+
as: splitted[1],
|
|
6390
|
+
for: splitted[2],
|
|
6391
|
+
to: splitted[3].split(","),
|
|
6392
|
+
on: splitted[4] !== "undefined" ? splitted[4] : void 0
|
|
6393
|
+
};
|
|
6394
|
+
},
|
|
6384
6395
|
squashPK: (pk) => {
|
|
6385
6396
|
return `${pk.columns.join(",")};${pk.name}`;
|
|
6386
6397
|
},
|
|
@@ -19590,6 +19601,7 @@ ${withStyle.errorWarning(
|
|
|
19590
19601
|
} else {
|
|
19591
19602
|
policiesToReturn[policy4.name] = {
|
|
19592
19603
|
...mappedPolicy,
|
|
19604
|
+
schema: tableConfig.schema ?? "public",
|
|
19593
19605
|
on: `"${tableConfig.schema ?? "public"}"."${tableConfig.name}"`
|
|
19594
19606
|
};
|
|
19595
19607
|
}
|
|
@@ -19800,9 +19812,10 @@ ${withStyle.errorWarning(
|
|
|
19800
19812
|
--end;
|
|
19801
19813
|
return start > 0 || end < str.length ? str.substring(start, end) : str.toString();
|
|
19802
19814
|
};
|
|
19803
|
-
fromDatabase2 = async (db, tablesFilter = () => true, schemaFilters, entities, progressCallback) => {
|
|
19815
|
+
fromDatabase2 = async (db, tablesFilter = () => true, schemaFilters, entities, progressCallback, tsSchema) => {
|
|
19804
19816
|
const result = {};
|
|
19805
19817
|
const views = {};
|
|
19818
|
+
const policies = {};
|
|
19806
19819
|
const internals = { tables: {} };
|
|
19807
19820
|
const where = schemaFilters.map((t2) => `n.nspname = '${t2}'`).join(" or ");
|
|
19808
19821
|
const allTables = await db.query(
|
|
@@ -19932,7 +19945,8 @@ WHERE
|
|
|
19932
19945
|
}
|
|
19933
19946
|
}
|
|
19934
19947
|
}
|
|
19935
|
-
const
|
|
19948
|
+
const schemasForLinkedPoliciesInSchema = Object.values((tsSchema == null ? void 0 : tsSchema.policies) ?? {}).map((it) => it.schema);
|
|
19949
|
+
const wherePolicies = [...schemaFilters, ...schemasForLinkedPoliciesInSchema].map((t2) => `schemaname = '${t2}'`).join(" or ");
|
|
19936
19950
|
const policiesByTable = {};
|
|
19937
19951
|
const allPolicies = await db.query(`SELECT schemaname, tablename, policyname as name, permissive as "as", roles as to, cmd as for, qual as using, with_check as "withCheck" FROM pg_policies${wherePolicies === "" ? "" : ` WHERE ${wherePolicies}`};`);
|
|
19938
19952
|
for (const dbPolicy of allPolicies) {
|
|
@@ -19948,6 +19962,15 @@ WHERE
|
|
|
19948
19962
|
[dbPolicy.name]: { ...rest, to: parsedTo, withCheck: parsedWithCheck, using: parsedUsing }
|
|
19949
19963
|
};
|
|
19950
19964
|
}
|
|
19965
|
+
if (tsSchema == null ? void 0 : tsSchema.policies[dbPolicy.name]) {
|
|
19966
|
+
policies[dbPolicy.name] = {
|
|
19967
|
+
...rest,
|
|
19968
|
+
to: parsedTo,
|
|
19969
|
+
withCheck: parsedWithCheck,
|
|
19970
|
+
using: parsedUsing,
|
|
19971
|
+
on: tsSchema == null ? void 0 : tsSchema.policies[dbPolicy.name].on
|
|
19972
|
+
};
|
|
19973
|
+
}
|
|
19951
19974
|
}
|
|
19952
19975
|
if (progressCallback) {
|
|
19953
19976
|
progressCallback(
|
|
@@ -20545,7 +20568,7 @@ WHERE
|
|
|
20545
20568
|
schemas: schemasObject,
|
|
20546
20569
|
sequences: sequencesToReturn,
|
|
20547
20570
|
roles: rolesToReturn,
|
|
20548
|
-
policies
|
|
20571
|
+
policies,
|
|
20549
20572
|
views,
|
|
20550
20573
|
_meta: {
|
|
20551
20574
|
schemas: {},
|
|
@@ -21488,7 +21511,7 @@ ${filenames.join("\n")}
|
|
|
21488
21511
|
});
|
|
21489
21512
|
|
|
21490
21513
|
// src/migrationPreparator.ts
|
|
21491
|
-
var import_crypto, import_fs4, prepareMySqlDbPushSnapshot, prepareSQLiteDbPushSnapshot,
|
|
21514
|
+
var import_crypto, import_fs4, prepareMySqlDbPushSnapshot, prepareSQLiteDbPushSnapshot, prepareMySqlMigrationSnapshot, prepareSqliteMigrationSnapshot, fillPgSnapshot, preparePgMigrationSnapshot, preparePrevSnapshot;
|
|
21492
21515
|
var init_migrationPreparator = __esm({
|
|
21493
21516
|
"src/migrationPreparator.ts"() {
|
|
21494
21517
|
"use strict";
|
|
@@ -21520,14 +21543,6 @@ var init_migrationPreparator = __esm({
|
|
|
21520
21543
|
};
|
|
21521
21544
|
return { prev, cur: result };
|
|
21522
21545
|
};
|
|
21523
|
-
preparePgDbPushSnapshot = async (prev, schemaPath, casing2, schemaFilter = ["public"]) => {
|
|
21524
|
-
const serialized = await serializePg(schemaPath, casing2, schemaFilter);
|
|
21525
|
-
const id = (0, import_crypto.randomUUID)();
|
|
21526
|
-
const idPrev = prev.id;
|
|
21527
|
-
const { version: version3, dialect: dialect4, ...rest } = serialized;
|
|
21528
|
-
const result = { version: version3, dialect: dialect4, id, prevId: idPrev, ...rest };
|
|
21529
|
-
return { prev, cur: result };
|
|
21530
|
-
};
|
|
21531
21546
|
prepareMySqlMigrationSnapshot = async (migrationFolders, schemaPath, casing2) => {
|
|
21532
21547
|
const prevSnapshot = mysqlSchema.parse(
|
|
21533
21548
|
preparePrevSnapshot(migrationFolders, dryMySql)
|
|
@@ -24729,9 +24744,9 @@ var init_sqlgenerator = __esm({
|
|
|
24729
24744
|
can(statement, dialect4) {
|
|
24730
24745
|
return statement.type === "alter_policy" && dialect4 === "postgresql";
|
|
24731
24746
|
}
|
|
24732
|
-
convert(statement) {
|
|
24733
|
-
const newPolicy = PgSquasher.unsquashPolicy(statement.newData);
|
|
24734
|
-
const oldPolicy = PgSquasher.unsquashPolicy(statement.oldData);
|
|
24747
|
+
convert(statement, _dialect, action) {
|
|
24748
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(statement.newData) : PgSquasher.unsquashPolicy(statement.newData);
|
|
24749
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(statement.oldData) : PgSquasher.unsquashPolicy(statement.oldData);
|
|
24735
24750
|
const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
|
|
24736
24751
|
const usingPart = newPolicy.using ? ` USING (${newPolicy.using})` : oldPolicy.using ? ` USING (${oldPolicy.using})` : "";
|
|
24737
24752
|
const withCheckPart = newPolicy.withCheck ? ` WITH CHECK (${newPolicy.withCheck})` : oldPolicy.withCheck ? ` WITH CHECK (${oldPolicy.withCheck})` : "";
|
|
@@ -25458,7 +25473,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
|
25458
25473
|
can(statement, dialect4) {
|
|
25459
25474
|
return statement.type === "drop_table" && dialect4 === "postgresql";
|
|
25460
25475
|
}
|
|
25461
|
-
convert(statement) {
|
|
25476
|
+
convert(statement, _d, action) {
|
|
25462
25477
|
const { tableName, schema: schema5, policies } = statement;
|
|
25463
25478
|
const tableNameWithSchema = schema5 ? `"${schema5}"."${tableName}"` : `"${tableName}"`;
|
|
25464
25479
|
const dropPolicyConvertor = new PgDropPolicyConvertor();
|
|
@@ -25466,7 +25481,7 @@ WITH ${withCheckOption} CHECK OPTION` : "";
|
|
|
25466
25481
|
return dropPolicyConvertor.convert({
|
|
25467
25482
|
type: "drop_policy",
|
|
25468
25483
|
tableName,
|
|
25469
|
-
data: PgSquasher.unsquashPolicy(p2),
|
|
25484
|
+
data: action === "push" ? PgSquasher.unsquashPolicyPush(p2) : PgSquasher.unsquashPolicy(p2),
|
|
25470
25485
|
schema: schema5
|
|
25471
25486
|
});
|
|
25472
25487
|
})) ?? [];
|
|
@@ -29434,8 +29449,10 @@ var init_snapshotsDiffer = __esm({
|
|
|
29434
29449
|
const { renamed, created: created2, deleted: deleted2 } = await policyResolver2({
|
|
29435
29450
|
tableName: entry.name,
|
|
29436
29451
|
schema: entry.schema,
|
|
29437
|
-
deleted: entry.policies.deleted.map(
|
|
29438
|
-
|
|
29452
|
+
deleted: entry.policies.deleted.map(
|
|
29453
|
+
action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy
|
|
29454
|
+
),
|
|
29455
|
+
created: entry.policies.added.map(action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy)
|
|
29439
29456
|
});
|
|
29440
29457
|
if (created2.length > 0) {
|
|
29441
29458
|
policyCreates.push({
|
|
@@ -29475,7 +29492,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
29475
29492
|
(policyKey, policy4) => {
|
|
29476
29493
|
const rens = policyRenamesDict[`${tableValue.schema || "public"}.${tableValue.name}`] || [];
|
|
29477
29494
|
const newName = columnChangeFor(policyKey, rens);
|
|
29478
|
-
const unsquashedPolicy = PgSquasher.unsquashPolicy(policy4);
|
|
29495
|
+
const unsquashedPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(policy4) : PgSquasher.unsquashPolicy(policy4);
|
|
29479
29496
|
unsquashedPolicy.name = newName;
|
|
29480
29497
|
policy4 = PgSquasher.squashPolicy(unsquashedPolicy);
|
|
29481
29498
|
return newName;
|
|
@@ -29489,8 +29506,12 @@ var init_snapshotsDiffer = __esm({
|
|
|
29489
29506
|
const indPolicyCreates = [];
|
|
29490
29507
|
const indPolicyDeletes = [];
|
|
29491
29508
|
const { renamed: indPolicyRenames, created, deleted } = await indPolicyResolver2({
|
|
29492
|
-
deleted: indPolicyRes.deleted.map(
|
|
29493
|
-
|
|
29509
|
+
deleted: indPolicyRes.deleted.map(
|
|
29510
|
+
(t2) => action === "push" ? PgSquasher.unsquashPolicyPush(t2.values) : PgSquasher.unsquashPolicy(t2.values)
|
|
29511
|
+
),
|
|
29512
|
+
created: indPolicyRes.added.map(
|
|
29513
|
+
(t2) => action === "push" ? PgSquasher.unsquashPolicyPush(t2.values) : PgSquasher.unsquashPolicy(t2.values)
|
|
29514
|
+
)
|
|
29494
29515
|
});
|
|
29495
29516
|
if (created.length > 0) {
|
|
29496
29517
|
indPolicyCreates.push({
|
|
@@ -29766,9 +29787,9 @@ var init_snapshotsDiffer = __esm({
|
|
|
29766
29787
|
);
|
|
29767
29788
|
}
|
|
29768
29789
|
typedResult.alteredPolicies.forEach(({ values }) => {
|
|
29769
|
-
const policy4 = PgSquasher.unsquashPolicy(values);
|
|
29770
|
-
const newPolicy = PgSquasher.unsquashPolicy(json2.policies[policy4.name].values);
|
|
29771
|
-
const oldPolicy = PgSquasher.unsquashPolicy(json1.policies[policy4.name].values);
|
|
29790
|
+
const policy4 = action === "push" ? PgSquasher.unsquashPolicyPush(values) : PgSquasher.unsquashPolicy(values);
|
|
29791
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(json2.policies[policy4.name].values) : PgSquasher.unsquashPolicy(json2.policies[policy4.name].values);
|
|
29792
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(json2.policies[policy4.name].values) : PgSquasher.unsquashPolicy(json1.policies[policy4.name].values);
|
|
29772
29793
|
if (newPolicy.as !== oldPolicy.as) {
|
|
29773
29794
|
jsonDropIndPoliciesStatements.push(
|
|
29774
29795
|
...prepareDropIndPolicyJsons(
|
|
@@ -29827,8 +29848,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
29827
29848
|
}
|
|
29828
29849
|
alteredTables.forEach((it) => {
|
|
29829
29850
|
Object.keys(it.alteredPolicies).forEach((policyName) => {
|
|
29830
|
-
const newPolicy = PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__new);
|
|
29831
|
-
const oldPolicy = PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__old);
|
|
29851
|
+
const newPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(it.alteredPolicies[policyName].__new) : PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__new);
|
|
29852
|
+
const oldPolicy = action === "push" ? PgSquasher.unsquashPolicyPush(it.alteredPolicies[policyName].__old) : PgSquasher.unsquashPolicy(it.alteredPolicies[policyName].__old);
|
|
29832
29853
|
if (newPolicy.as !== oldPolicy.as) {
|
|
29833
29854
|
jsonDropPoliciesStatements.push(
|
|
29834
29855
|
...prepareDropPolicyJsons(
|
|
@@ -29882,7 +29903,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
29882
29903
|
if (policiesInPreviousState.length > 0 && policiesInCurrentState.length === 0 && !table4.isRLSEnabled) {
|
|
29883
29904
|
jsonDisableRLSStatements.push({ type: "disable_rls", tableName: table4.name, schema: table4.schema });
|
|
29884
29905
|
}
|
|
29885
|
-
|
|
29906
|
+
const wasRlsEnabled = tableInPreviousState ? tableInPreviousState.isRLSEnabled : false;
|
|
29907
|
+
if (table4.isRLSEnabled !== wasRlsEnabled) {
|
|
29886
29908
|
if (table4.isRLSEnabled) {
|
|
29887
29909
|
jsonEnableRLSStatements.push({ type: "enable_rls", tableName: table4.name, schema: table4.schema });
|
|
29888
29910
|
} else if (!table4.isRLSEnabled && policiesInCurrentState.length === 0) {
|
|
@@ -30009,7 +30031,11 @@ var init_snapshotsDiffer = __esm({
|
|
|
30009
30031
|
});
|
|
30010
30032
|
jsonCreatePoliciesStatements.push(...[].concat(
|
|
30011
30033
|
...createdTables.map(
|
|
30012
|
-
(it) => prepareCreatePolicyJsons(
|
|
30034
|
+
(it) => prepareCreatePolicyJsons(
|
|
30035
|
+
it.name,
|
|
30036
|
+
it.schema,
|
|
30037
|
+
Object.values(it.policies).map(action === "push" ? PgSquasher.unsquashPolicyPush : PgSquasher.unsquashPolicy)
|
|
30038
|
+
)
|
|
30013
30039
|
)
|
|
30014
30040
|
));
|
|
30015
30041
|
const createViews = [];
|
|
@@ -30224,7 +30250,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
30224
30250
|
}
|
|
30225
30251
|
return true;
|
|
30226
30252
|
});
|
|
30227
|
-
const sqlStatements = fromJson(filteredEnumsJsonStatements, "postgresql");
|
|
30253
|
+
const sqlStatements = fromJson(filteredEnumsJsonStatements, "postgresql", action);
|
|
30228
30254
|
const uniqueSqlStatements = [];
|
|
30229
30255
|
sqlStatements.forEach((ss) => {
|
|
30230
30256
|
if (!uniqueSqlStatements.includes(ss)) {
|
|
@@ -33050,13 +33076,7 @@ var init_migrate = __esm({
|
|
|
33050
33076
|
console.error(e2);
|
|
33051
33077
|
}
|
|
33052
33078
|
};
|
|
33053
|
-
preparePgPush = async (
|
|
33054
|
-
const { prev, cur } = await preparePgDbPushSnapshot(
|
|
33055
|
-
snapshot,
|
|
33056
|
-
schemaPath,
|
|
33057
|
-
casing2,
|
|
33058
|
-
schemaFilter
|
|
33059
|
-
);
|
|
33079
|
+
preparePgPush = async (cur, prev) => {
|
|
33060
33080
|
const validatedPrev = pgSchema.parse(prev);
|
|
33061
33081
|
const validatedCur = pgSchema.parse(cur);
|
|
33062
33082
|
const squashedPrev = squashPgScheme(validatedPrev, "push");
|
|
@@ -58697,7 +58717,7 @@ var require_dist_cjs42 = __commonJS({
|
|
|
58697
58717
|
var import_util_buffer_from = require_dist_cjs23();
|
|
58698
58718
|
var import_util_utf8 = require_dist_cjs24();
|
|
58699
58719
|
var import_buffer2 = require("buffer");
|
|
58700
|
-
var
|
|
58720
|
+
var import_crypto10 = require("crypto");
|
|
58701
58721
|
var _Hash = class _Hash {
|
|
58702
58722
|
constructor(algorithmIdentifier, secret) {
|
|
58703
58723
|
this.algorithmIdentifier = algorithmIdentifier;
|
|
@@ -58711,7 +58731,7 @@ var require_dist_cjs42 = __commonJS({
|
|
|
58711
58731
|
return Promise.resolve(this.hash.digest());
|
|
58712
58732
|
}
|
|
58713
58733
|
reset() {
|
|
58714
|
-
this.hash = this.secret ? (0,
|
|
58734
|
+
this.hash = this.secret ? (0, import_crypto10.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, import_crypto10.createHash)(this.algorithmIdentifier);
|
|
58715
58735
|
}
|
|
58716
58736
|
};
|
|
58717
58737
|
__name(_Hash, "Hash");
|
|
@@ -81253,7 +81273,7 @@ var init_pgPushUtils = __esm({
|
|
|
81253
81273
|
}
|
|
81254
81274
|
}
|
|
81255
81275
|
}
|
|
81256
|
-
const stmnt = fromJson([statement], "postgresql");
|
|
81276
|
+
const stmnt = fromJson([statement], "postgresql", "push");
|
|
81257
81277
|
if (typeof stmnt !== "undefined") {
|
|
81258
81278
|
statementsToExecute.push(...stmnt);
|
|
81259
81279
|
}
|
|
@@ -82407,7 +82427,7 @@ var init_pgIntrospect = __esm({
|
|
|
82407
82427
|
init_global();
|
|
82408
82428
|
init_pgSerializer();
|
|
82409
82429
|
init_views();
|
|
82410
|
-
pgPushIntrospect = async (db, filters, schemaFilters, entities) => {
|
|
82430
|
+
pgPushIntrospect = async (db, filters, schemaFilters, entities, tsSchema) => {
|
|
82411
82431
|
const matchers = filters.map((it) => {
|
|
82412
82432
|
return new Minimatch(it);
|
|
82413
82433
|
});
|
|
@@ -82436,7 +82456,7 @@ var init_pgIntrospect = __esm({
|
|
|
82436
82456
|
);
|
|
82437
82457
|
const res = await (0, import_hanji9.renderWithTask)(
|
|
82438
82458
|
progress,
|
|
82439
|
-
fromDatabase2(db, filter2, schemaFilters, entities)
|
|
82459
|
+
fromDatabase2(db, filter2, schemaFilters, entities, void 0, tsSchema)
|
|
82440
82460
|
);
|
|
82441
82461
|
const schema5 = { id: originUUID, prevId: "", ...res };
|
|
82442
82462
|
const { internal, ...schemaWithoutInternals } = schema5;
|
|
@@ -82912,12 +82932,14 @@ __export(push_exports, {
|
|
|
82912
82932
|
pgPush: () => pgPush,
|
|
82913
82933
|
sqlitePush: () => sqlitePush
|
|
82914
82934
|
});
|
|
82915
|
-
var import_hanji11, mysqlPush, pgPush, sqlitePush, libSQLPush;
|
|
82935
|
+
var import_crypto9, import_hanji11, mysqlPush, pgPush, sqlitePush, libSQLPush;
|
|
82916
82936
|
var init_push = __esm({
|
|
82917
82937
|
"src/cli/commands/push.ts"() {
|
|
82918
82938
|
"use strict";
|
|
82919
82939
|
init_source();
|
|
82940
|
+
import_crypto9 = require("crypto");
|
|
82920
82941
|
import_hanji11 = __toESM(require_hanji());
|
|
82942
|
+
init_serializer();
|
|
82921
82943
|
init_sqlgenerator();
|
|
82922
82944
|
init_selector_ui();
|
|
82923
82945
|
init_outputs();
|
|
@@ -83030,9 +83052,13 @@ var init_push = __esm({
|
|
|
83030
83052
|
const { preparePostgresDB: preparePostgresDB2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
|
|
83031
83053
|
const { pgPushIntrospect: pgPushIntrospect2 } = await Promise.resolve().then(() => (init_pgIntrospect(), pgIntrospect_exports));
|
|
83032
83054
|
const db = await preparePostgresDB2(credentials2);
|
|
83033
|
-
const
|
|
83055
|
+
const serialized = await serializePg(schemaPath, casing2, schemasFilter);
|
|
83056
|
+
const { schema: schema5 } = await pgPushIntrospect2(db, tablesFilter, schemasFilter, entities, serialized);
|
|
83034
83057
|
const { preparePgPush: preparePgPush2 } = await Promise.resolve().then(() => (init_migrate(), migrate_exports));
|
|
83035
|
-
const statements = await preparePgPush2(
|
|
83058
|
+
const statements = await preparePgPush2(
|
|
83059
|
+
{ id: (0, import_crypto9.randomUUID)(), prevId: schema5.id, ...serialized },
|
|
83060
|
+
schema5
|
|
83061
|
+
);
|
|
83036
83062
|
try {
|
|
83037
83063
|
if (statements.sqlStatements.length === 0) {
|
|
83038
83064
|
(0, import_hanji11.render)(`[${source_default.blue("i")}] No changes detected`);
|
|
@@ -88963,7 +88989,7 @@ init_utils2();
|
|
|
88963
88989
|
var version2 = async () => {
|
|
88964
88990
|
const { npmVersion } = await ormCoreVersions();
|
|
88965
88991
|
const ormVersion = npmVersion ? `drizzle-orm: v${npmVersion}` : "";
|
|
88966
|
-
const envVersion = "0.27.
|
|
88992
|
+
const envVersion = "0.27.2";
|
|
88967
88993
|
const kitVersion = envVersion ? `v${envVersion}` : "--";
|
|
88968
88994
|
const versions = `drizzle-kit: ${kitVersion}
|
|
88969
88995
|
${ormVersion}`;
|
package/package.json
CHANGED
package/utils.js
CHANGED
|
@@ -5252,7 +5252,8 @@ var policy = objectType({
|
|
|
5252
5252
|
to: stringType().array().optional(),
|
|
5253
5253
|
using: stringType().optional(),
|
|
5254
5254
|
withCheck: stringType().optional(),
|
|
5255
|
-
on: stringType().optional()
|
|
5255
|
+
on: stringType().optional(),
|
|
5256
|
+
schema: stringType().optional()
|
|
5256
5257
|
}).strict();
|
|
5257
5258
|
var policySquashed = objectType({
|
|
5258
5259
|
name: stringType(),
|
package/utils.mjs
CHANGED
|
@@ -5231,7 +5231,8 @@ var policy = objectType({
|
|
|
5231
5231
|
to: stringType().array().optional(),
|
|
5232
5232
|
using: stringType().optional(),
|
|
5233
5233
|
withCheck: stringType().optional(),
|
|
5234
|
-
on: stringType().optional()
|
|
5234
|
+
on: stringType().optional(),
|
|
5235
|
+
schema: stringType().optional()
|
|
5235
5236
|
}).strict();
|
|
5236
5237
|
var policySquashed = objectType({
|
|
5237
5238
|
name: stringType(),
|