@lodashventure/medusa-parcel-shipping 0.3.18 → 0.3.20
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.
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251102000000 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20251102000000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
// Add missing columns to parcel_shipping_rate table if they don't exist
|
|
8
|
+
// Check if carrier_type column exists, if not add it
|
|
9
|
+
this.addSql(`
|
|
10
|
+
DO $$
|
|
11
|
+
BEGIN
|
|
12
|
+
IF NOT EXISTS (
|
|
13
|
+
SELECT 1 FROM information_schema.columns
|
|
14
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
15
|
+
AND column_name = 'carrier_type'
|
|
16
|
+
) THEN
|
|
17
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
18
|
+
ADD COLUMN "carrier_type" text
|
|
19
|
+
CHECK ("carrier_type" IN ('COMPANY_FLEET', 'COMPANY_TRUCK', 'PRIVATE_CARRIER'))
|
|
20
|
+
NOT NULL DEFAULT 'COMPANY_FLEET';
|
|
21
|
+
END IF;
|
|
22
|
+
END $$;
|
|
23
|
+
`);
|
|
24
|
+
// Check if service_code column exists, if not add it
|
|
25
|
+
this.addSql(`
|
|
26
|
+
DO $$
|
|
27
|
+
BEGIN
|
|
28
|
+
IF NOT EXISTS (
|
|
29
|
+
SELECT 1 FROM information_schema.columns
|
|
30
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
31
|
+
AND column_name = 'service_code'
|
|
32
|
+
) THEN
|
|
33
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
34
|
+
ADD COLUMN "service_code" text
|
|
35
|
+
CHECK ("service_code" IN ('MESSENGER_3H', 'SAME_DAY', 'STANDARD_3_5D', 'EXPRESS_1_2D'))
|
|
36
|
+
NOT NULL DEFAULT 'STANDARD_3_5D';
|
|
37
|
+
END IF;
|
|
38
|
+
END $$;
|
|
39
|
+
`);
|
|
40
|
+
// Check if max_weight_kg column exists, if not add it
|
|
41
|
+
this.addSql(`
|
|
42
|
+
DO $$
|
|
43
|
+
BEGIN
|
|
44
|
+
IF NOT EXISTS (
|
|
45
|
+
SELECT 1 FROM information_schema.columns
|
|
46
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
47
|
+
AND column_name = 'max_weight_kg'
|
|
48
|
+
) THEN
|
|
49
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
50
|
+
ADD COLUMN "max_weight_kg" double precision NOT NULL DEFAULT 5.0;
|
|
51
|
+
END IF;
|
|
52
|
+
END $$;
|
|
53
|
+
`);
|
|
54
|
+
// Check if priority column exists, if not add it
|
|
55
|
+
this.addSql(`
|
|
56
|
+
DO $$
|
|
57
|
+
BEGIN
|
|
58
|
+
IF NOT EXISTS (
|
|
59
|
+
SELECT 1 FROM information_schema.columns
|
|
60
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
61
|
+
AND column_name = 'priority'
|
|
62
|
+
) THEN
|
|
63
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
64
|
+
ADD COLUMN "priority" integer NOT NULL DEFAULT 0;
|
|
65
|
+
END IF;
|
|
66
|
+
END $$;
|
|
67
|
+
`);
|
|
68
|
+
// Check if eta_hours_min column exists, if not add it
|
|
69
|
+
this.addSql(`
|
|
70
|
+
DO $$
|
|
71
|
+
BEGIN
|
|
72
|
+
IF NOT EXISTS (
|
|
73
|
+
SELECT 1 FROM information_schema.columns
|
|
74
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
75
|
+
AND column_name = 'eta_hours_min'
|
|
76
|
+
) THEN
|
|
77
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
78
|
+
ADD COLUMN "eta_hours_min" integer NULL;
|
|
79
|
+
END IF;
|
|
80
|
+
END $$;
|
|
81
|
+
`);
|
|
82
|
+
// Check if eta_hours_max column exists, if not add it
|
|
83
|
+
this.addSql(`
|
|
84
|
+
DO $$
|
|
85
|
+
BEGIN
|
|
86
|
+
IF NOT EXISTS (
|
|
87
|
+
SELECT 1 FROM information_schema.columns
|
|
88
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
89
|
+
AND column_name = 'eta_hours_max'
|
|
90
|
+
) THEN
|
|
91
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
92
|
+
ADD COLUMN "eta_hours_max" integer NULL;
|
|
93
|
+
END IF;
|
|
94
|
+
END $$;
|
|
95
|
+
`);
|
|
96
|
+
// Check if eta_days_min column exists, if not add it
|
|
97
|
+
this.addSql(`
|
|
98
|
+
DO $$
|
|
99
|
+
BEGIN
|
|
100
|
+
IF NOT EXISTS (
|
|
101
|
+
SELECT 1 FROM information_schema.columns
|
|
102
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
103
|
+
AND column_name = 'eta_days_min'
|
|
104
|
+
) THEN
|
|
105
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
106
|
+
ADD COLUMN "eta_days_min" integer NULL;
|
|
107
|
+
END IF;
|
|
108
|
+
END $$;
|
|
109
|
+
`);
|
|
110
|
+
// Check if eta_days_max column exists, if not add it
|
|
111
|
+
this.addSql(`
|
|
112
|
+
DO $$
|
|
113
|
+
BEGIN
|
|
114
|
+
IF NOT EXISTS (
|
|
115
|
+
SELECT 1 FROM information_schema.columns
|
|
116
|
+
WHERE table_name = 'parcel_shipping_rate'
|
|
117
|
+
AND column_name = 'eta_days_max'
|
|
118
|
+
) THEN
|
|
119
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
120
|
+
ADD COLUMN "eta_days_max" integer NULL;
|
|
121
|
+
END IF;
|
|
122
|
+
END $$;
|
|
123
|
+
`);
|
|
124
|
+
// Drop existing index if it exists
|
|
125
|
+
this.addSql(`
|
|
126
|
+
DROP INDEX IF EXISTS "idx_carrier_service_weight";
|
|
127
|
+
`);
|
|
128
|
+
// Recreate the unique index
|
|
129
|
+
this.addSql(`
|
|
130
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "idx_carrier_service_weight"
|
|
131
|
+
ON "parcel_shipping_rate" ("carrier_type", "service_code", "max_weight_kg", "active")
|
|
132
|
+
WHERE "active" = true;
|
|
133
|
+
`);
|
|
134
|
+
// Create or recreate other indexes
|
|
135
|
+
this.addSql(`
|
|
136
|
+
CREATE INDEX IF NOT EXISTS "IDX_parcel_shipping_rate_carrier_service"
|
|
137
|
+
ON "parcel_shipping_rate" ("carrier_type", "service_code");
|
|
138
|
+
`);
|
|
139
|
+
}
|
|
140
|
+
async down() {
|
|
141
|
+
// Remove the columns added in the up migration
|
|
142
|
+
this.addSql(`
|
|
143
|
+
ALTER TABLE "parcel_shipping_rate"
|
|
144
|
+
DROP COLUMN IF EXISTS "carrier_type",
|
|
145
|
+
DROP COLUMN IF EXISTS "service_code",
|
|
146
|
+
DROP COLUMN IF EXISTS "max_weight_kg",
|
|
147
|
+
DROP COLUMN IF EXISTS "priority",
|
|
148
|
+
DROP COLUMN IF EXISTS "eta_hours_min",
|
|
149
|
+
DROP COLUMN IF EXISTS "eta_hours_max",
|
|
150
|
+
DROP COLUMN IF EXISTS "eta_days_min",
|
|
151
|
+
DROP COLUMN IF EXISTS "eta_days_max";
|
|
152
|
+
`);
|
|
153
|
+
// Drop the indexes
|
|
154
|
+
this.addSql(`DROP INDEX IF EXISTS "idx_carrier_service_weight";`);
|
|
155
|
+
this.addSql(`DROP INDEX IF EXISTS "IDX_parcel_shipping_rate_carrier_service";`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.Migration20251102000000 = Migration20251102000000;
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTExMDIwMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9wYXJjZWwtc2hpcHBpbmcvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MTEwMjAwMDAwMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFBcUU7QUFFckUsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUMzQyxLQUFLLENBQUMsRUFBRTtRQUNmLHdFQUF3RTtRQUV4RSxxREFBcUQ7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7S0FjWCxDQUFDLENBQUM7UUFFSCxxREFBcUQ7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7S0FjWCxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0tBWVgsQ0FBQyxDQUFDO1FBRUgsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztLQVlYLENBQUMsQ0FBQztRQUVILHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7S0FZWCxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0tBWVgsQ0FBQyxDQUFDO1FBRUgscURBQXFEO1FBQ3JELElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztLQVlYLENBQUMsQ0FBQztRQUVILHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7S0FZWCxDQUFDLENBQUM7UUFFSCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7S0FFWCxDQUFDLENBQUM7UUFFSCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7OztLQUlYLENBQUMsQ0FBQztRQUVILG1DQUFtQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7S0FHWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7Ozs7Ozs7S0FVWCxDQUFDLENBQUM7UUFFSCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsa0VBQWtFLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0Y7QUFyS0QsMERBcUtDIn0=
|