alex (he/him)
alex (he/him)
Explore posts from servers
DTDrizzle Team
Created by alex (he/him) on 12/12/2024 in #help
How to set opclass for index with custom sql column
we do have following definitions, after we used drizzle-kit pull
uniqueIndex("sap_id_upper_trim_idx").using("btree", sql`upper(TRIM(BOTH FROM sap_id))`),
uniqueIndex("sap_id_upper_trim_idx").using("btree", sql`upper(TRIM(BOTH FROM sap_id))`),
Now the issue is that, drizzle-kit generate thinks it needs to drop the index and recreates it, because it doesn't understand that the opclass is optional. This is the initial state from introspection
CREATE UNIQUE INDEX "sap_id_upper_trim_idx" ON "companies" USING btree (upper(TRIM(BOTH FROM sap_id)) text_ops);--> statement-breakpoint
CREATE UNIQUE INDEX "sap_id_upper_trim_idx" ON "companies" USING btree (upper(TRIM(BOTH FROM sap_id)) text_ops);--> statement-breakpoint
This is what drizzle generates as a migration
DROP INDEX "sap_id_upper_trim_idx";--> statement-breakpoint
CREATE UNIQUE INDEX "sap_id_upper_trim_idx" ON "companies" USING btree (upper(TRIM(BOTH FROM sap_id)));--> statement-breakpoint
DROP INDEX "sap_id_upper_trim_idx";--> statement-breakpoint
CREATE UNIQUE INDEX "sap_id_upper_trim_idx" ON "companies" USING btree (upper(TRIM(BOTH FROM sap_id)));--> statement-breakpoint
I know for other columns we can use .op('text_ops'), but that doesn't work for the custom index column with sql?
1 replies
DTDrizzle Team
Created by alex (he/him) on 6/19/2023 in #help
drizzle-kit@win still not working. What am I doing wrong?
/Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/packages/db/drizzle.config.ts
import type { Config } from 'drizzle-kit'

export default {
schema: './src/schema/*.ts',
out: './drizzle',
} satisfies Config
import type { Config } from 'drizzle-kit'

export default {
schema: './src/schema/*.ts',
out: './drizzle',
} satisfies Config
❯ moon run db:generate
▪▪▪▪ db:generate
drizzle-kit: v0.19.2
drizzle-orm: v0.27.0

No config path provided, using default 'drizzle.config.ts'
Reading config file '/Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/packages/db/drizzle.config.ts'
node:internal/errors:496
ErrorCaptureStackTrace(err);
^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/packages/db/drizzle.config.ts__drizzle__' imported from /Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/node_modules/.pnpm/[email protected]/node_modules/drizzle-kit/index.cjs
at new NodeError (node:internal/errors:405:5)
at finalizeResolution (node:internal/modules/esm/resolve:224:11)
at moduleResolve (node:internal/modules/esm/resolve:837:10)
at defaultResolve (node:internal/modules/esm/resolve:1035:11)
at DefaultModuleLoader.resolve (node:internal/modules/esm/loader:269:12)
at DefaultModuleLoader.getModuleJob (node:internal/modules/esm/loader:153:32)
at DefaultModuleLoader.import (node:internal/modules/esm/loader:245:28)
at importModuleDynamically (node:internal/modules/cjs/loader:1185:37)
at importModuleDynamicallyWrapper (node:internal/vm/module:428:21)
at importModuleDynamically (node:internal/vm:105:46) {
code: 'ERR_MODULE_NOT_FOUND'
}

Node.js v20.3.0
▪▪▪▪ db:generate (97ms)
Error: × Process drizzle-kit failed with a 1 exit code.
❯ moon run db:generate
▪▪▪▪ db:generate
drizzle-kit: v0.19.2
drizzle-orm: v0.27.0

No config path provided, using default 'drizzle.config.ts'
Reading config file '/Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/packages/db/drizzle.config.ts'
node:internal/errors:496
ErrorCaptureStackTrace(err);
^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/packages/db/drizzle.config.ts__drizzle__' imported from /Users/alexanderniebuhr/Developer/Projects/alexanderniebuhr_blog/node_modules/.pnpm/[email protected]/node_modules/drizzle-kit/index.cjs
at new NodeError (node:internal/errors:405:5)
at finalizeResolution (node:internal/modules/esm/resolve:224:11)
at moduleResolve (node:internal/modules/esm/resolve:837:10)
at defaultResolve (node:internal/modules/esm/resolve:1035:11)
at DefaultModuleLoader.resolve (node:internal/modules/esm/loader:269:12)
at DefaultModuleLoader.getModuleJob (node:internal/modules/esm/loader:153:32)
at DefaultModuleLoader.import (node:internal/modules/esm/loader:245:28)
at importModuleDynamically (node:internal/modules/cjs/loader:1185:37)
at importModuleDynamicallyWrapper (node:internal/vm/module:428:21)
at importModuleDynamically (node:internal/vm:105:46) {
code: 'ERR_MODULE_NOT_FOUND'
}

Node.js v20.3.0
▪▪▪▪ db:generate (97ms)
Error: × Process drizzle-kit failed with a 1 exit code.
6 replies
DTDrizzle Team
Created by alex (he/him) on 6/4/2023 in #help
Type Declaration with TypeScript in Monorepo failes
I am trying to setup a monorepo with moon and pnpm, where shema lives in an additional package and is imported by other apps. Is there any monorepo example? Currently I get following error:
../db/src/schema/products.ts(4,14): error TS2742: The inferred type of 'products' cannot be named without a reference to '../../node_modules/drizzle-orm/db.d-a6fe1b19.js'. This is likely not portable. A type annotation is necessary.
../db/src/schema/products.ts(4,14): error TS2742: The inferred type of 'products' cannot be named without a reference to '../../node_modules/drizzle-orm/db.d-a6fe1b19.js'. This is likely not portable. A type annotation is necessary.
There is an GitHub Issue already, can anyone help with workarounds or fixes, explanations? https://github.com/drizzle-team/drizzle-orm/issues/656
6 replies