Skip to content

Commit 7045182

Browse files
authored
fix(db-postgres): reordering of enum values, bump drizzle-kit@0.31.0 and drizzle-orm@0.43.1 (#12256)
Fixes the issue when reordering select field options in postgres by bumping `drizzle-kit` and `drizzle-orm`, related PR drizzle-team/drizzle-orm#4330 ``` cannot drop type enum_users_select because other objects depend on it ``` fixes #8544
1 parent b372a34 commit 7045182

File tree

10 files changed

+197
-307
lines changed

10 files changed

+197
-307
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,9 @@
151151
"create-payload-app": "workspace:*",
152152
"cross-env": "7.0.3",
153153
"dotenv": "16.4.7",
154-
"drizzle-kit": "0.28.0",
154+
"drizzle-kit": "0.31.0",
155+
"drizzle-orm": "0.43.1",
156+
"escape-html": "^1.0.3",
155157
"execa": "5.1.1",
156158
"form-data": "3.0.1",
157159
"fs-extra": "10.1.0",

packages/db-postgres/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@
7878
"@payloadcms/drizzle": "workspace:*",
7979
"@types/pg": "8.10.2",
8080
"console-table-printer": "2.12.1",
81-
"drizzle-kit": "0.28.0",
82-
"drizzle-orm": "0.36.1",
81+
"drizzle-kit": "0.31.1",
82+
"drizzle-orm": "0.44.2",
8383
"pg": "8.11.3",
8484
"prompts": "2.4.2",
8585
"to-snake-case": "1.0.0",

packages/db-sqlite/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@
7676
"@libsql/client": "0.14.0",
7777
"@payloadcms/drizzle": "workspace:*",
7878
"console-table-printer": "2.12.1",
79-
"drizzle-kit": "0.28.0",
80-
"drizzle-orm": "0.36.1",
79+
"drizzle-kit": "0.31.1",
80+
"drizzle-orm": "0.44.2",
8181
"prompts": "2.4.2",
8282
"to-snake-case": "1.0.0",
8383
"uuid": "9.0.0"

packages/db-vercel-postgres/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@
7878
"@payloadcms/drizzle": "workspace:*",
7979
"@vercel/postgres": "^0.9.0",
8080
"console-table-printer": "2.12.1",
81-
"drizzle-kit": "0.28.0",
82-
"drizzle-orm": "0.36.1",
81+
"drizzle-kit": "0.31.1",
82+
"drizzle-orm": "0.44.2",
8383
"pg": "8.11.3",
8484
"prompts": "2.4.2",
8585
"to-snake-case": "1.0.0",

packages/drizzle/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"dependencies": {
5656
"console-table-printer": "2.12.1",
5757
"dequal": "2.0.3",
58-
"drizzle-orm": "0.36.1",
58+
"drizzle-orm": "0.44.2",
5959
"prompts": "2.4.2",
6060
"to-snake-case": "1.0.0",
6161
"uuid": "9.0.0"

packages/drizzle/src/transform/read/hasManyNumber.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,21 @@ export const transformHasManyNumber = ({
2020
if (withinArrayOrBlockLocale) {
2121
result = numberRows.reduce((acc, { locale, number }) => {
2222
if (locale === withinArrayOrBlockLocale) {
23+
if (typeof number === 'string') {
24+
number = Number(number)
25+
}
2326
acc.push(number)
2427
}
2528

2629
return acc
2730
}, [])
2831
} else {
29-
result = numberRows.map(({ number }) => number)
32+
result = numberRows.map(({ number }) => {
33+
if (typeof number === 'string') {
34+
number = Number(number)
35+
}
36+
return number
37+
})
3038
}
3139

3240
if (locale) {

packages/drizzle/src/upsertRow/index.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,9 +379,15 @@ export const upsertRow = async <T extends Record<string, unknown> | TypeWithID>(
379379
// //////////////////////////////////
380380
// Error Handling
381381
// //////////////////////////////////
382-
} catch (error) {
382+
} catch (caughtError) {
383383
// Unique constraint violation error
384384
// '23505' is the code for PostgreSQL, and 'SQLITE_CONSTRAINT_UNIQUE' is for SQLite
385+
386+
let error = caughtError
387+
if (typeof caughtError === 'object' && 'cause' in caughtError) {
388+
error = caughtError.cause
389+
}
390+
385391
if (error.code === '23505' || error.code === 'SQLITE_CONSTRAINT_UNIQUE') {
386392
let fieldName: null | string = null
387393
// We need to try and find the right constraint for the field but if we can't we fallback to a generic message

0 commit comments

Comments
 (0)