I have big issue with drizzle, when u push changes do db, drizzle is not creating custom pgEnum

I will send code wait a min
26 Replies
Top3
Top3OP4w ago
import {
integer,
pgTable,
varchar,
pgEnum,
PgEnumColumn,
timestamp,
} from "drizzle-orm/pg-core";

export const roleEnum = pgEnum("roleEnum", ["admin", "user"]);

export const keysTable = pgTable("keys", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
key: varchar({ length: 64 }).notNull().unique(),
role: roleEnum().notNull().default("user"),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
});
import {
integer,
pgTable,
varchar,
pgEnum,
PgEnumColumn,
timestamp,
} from "drizzle-orm/pg-core";

export const roleEnum = pgEnum("roleEnum", ["admin", "user"]);

export const keysTable = pgTable("keys", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
key: varchar({ length: 64 }).notNull().unique(),
role: roleEnum().notNull().default("user"),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
});
And im getting this error when pushing
error: typ "roleEnum" nie istnieje
at C:\Users\Top3\Desktop\rustMetrics\api\node_modules\pg-pool\index.js:45:11
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async Object.query (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:80601:26)
at async pgPush (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:84411:13)
at async Object.handler (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93813:9)
at async run (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93059:7) {
length: 94,
severity: 'BŁĄD',
code: '42704',
detail: undefined,
hint: undefined,
position: '213',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'parse_type.c',
line: '274',
routine: 'typenameType'
}
error: typ "roleEnum" nie istnieje
at C:\Users\Top3\Desktop\rustMetrics\api\node_modules\pg-pool\index.js:45:11
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async Object.query (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:80601:26)
at async pgPush (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:84411:13)
at async Object.handler (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93813:9)
at async run (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93059:7) {
length: 94,
severity: 'BŁĄD',
code: '42704',
detail: undefined,
hint: undefined,
position: '213',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'parse_type.c',
line: '274',
routine: 'typenameType'
}
Felipe Lohan
Felipe Lohan4w ago
Same error !!
Jefferson Sofarelli
Same here!
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Hey! What version of drizzle-kit are you using?
Top3
Top3OP4w ago
"drizzle-orm": "^0.44.5", "drizzle-kit": "^0.31.4" oh wrong one XD
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Could you please share the output of drizzle-kit push?
Top3
Top3OP4w ago
error: typ "roleEnum" nie istnieje
at C:\Users\Top3\Desktop\rustMetrics\api\node_modules\pg-pool\index.js:45:11
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async Object.query (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:80601:26)
at async pgPush (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:84411:13)
at async Object.handler (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93813:9)
at async run (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93059:7) {
length: 94,
severity: 'BŁĄD',
code: '42704',
detail: undefined,
hint: undefined,
position: '213',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'parse_type.c',
line: '274',
routine: 'typenameType'
}
PS C:\Users\Top3\Desktop\rustMetrics\api>
error: typ "roleEnum" nie istnieje
at C:\Users\Top3\Desktop\rustMetrics\api\node_modules\pg-pool\index.js:45:11
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async Object.query (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:80601:26)
at async pgPush (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:84411:13)
at async Object.handler (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93813:9)
at async run (C:\Users\Top3\Desktop\rustMetrics\api\node_modules\drizzle-kit\bin.cjs:93059:7) {
length: 94,
severity: 'BŁĄD',
code: '42704',
detail: undefined,
hint: undefined,
position: '213',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'parse_type.c',
line: '274',
routine: 'typenameType'
}
PS C:\Users\Top3\Desktop\rustMetrics\api>
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Can you share sql statements above this error?
Top3
Top3OP4w ago
wdym?
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
No description
Top3
Top3OP4w ago
Warning You are about to execute current statements:

CREATE TABLE "keys" (
"id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "keys_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
"key" varchar(64) NOT NULL,
"role" "roleEnum" DEFAULT 'user' NOT NULL,
"createdAt" timestamp DEFAULT now(),
CONSTRAINT "keys_key_unique" UNIQUE("key")
);

CREATE TABLE "overview_cache" (
"steamId" integer PRIMARY KEY NOT NULL,
"data" jsonb NOT NULL,
"cachedAt" timestamp DEFAULT now() NOT NULL
);

ALTER TABLE "_prisma_migrations" DISABLE ROW LEVEL SECURITY;
DROP TABLE "_prisma_migrations" CASCADE;
ALTER TABLE "logs" ALTER COLUMN "id" SET DATA TYPE integer;
ALTER TABLE "logs" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY (sequence name "logs_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1);
ALTER TABLE "logs" ALTER COLUMN "timestamp" SET DATA TYPE timestamp;
ALTER TABLE "logs" ALTER COLUMN "timestamp" SET DEFAULT now();
ALTER TABLE "logs" ALTER COLUMN "timestamp" DROP NOT NULL;
Warning You are about to execute current statements:

CREATE TABLE "keys" (
"id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "keys_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
"key" varchar(64) NOT NULL,
"role" "roleEnum" DEFAULT 'user' NOT NULL,
"createdAt" timestamp DEFAULT now(),
CONSTRAINT "keys_key_unique" UNIQUE("key")
);

CREATE TABLE "overview_cache" (
"steamId" integer PRIMARY KEY NOT NULL,
"data" jsonb NOT NULL,
"cachedAt" timestamp DEFAULT now() NOT NULL
);

ALTER TABLE "_prisma_migrations" DISABLE ROW LEVEL SECURITY;
DROP TABLE "_prisma_migrations" CASCADE;
ALTER TABLE "logs" ALTER COLUMN "id" SET DATA TYPE integer;
ALTER TABLE "logs" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY (sequence name "logs_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1);
ALTER TABLE "logs" ALTER COLUMN "timestamp" SET DATA TYPE timestamp;
ALTER TABLE "logs" ALTER COLUMN "timestamp" SET DEFAULT now();
ALTER TABLE "logs" ALTER COLUMN "timestamp" DROP NOT NULL;
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Are roleEnum and keysTable in the same file?
Top3
Top3OP4w ago
yep
import {
integer,
pgTable,
varchar,
pgEnum,
PgEnumColumn,
timestamp,
} from "drizzle-orm/pg-core";

export const roleEnum = pgEnum("roleEnum", ["admin", "user"]);

export const keysTable = pgTable("keys", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
key: varchar({ length: 64 }).notNull().unique(),
role: roleEnum().notNull().default("user"),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
});
import {
integer,
pgTable,
varchar,
pgEnum,
PgEnumColumn,
timestamp,
} from "drizzle-orm/pg-core";

export const roleEnum = pgEnum("roleEnum", ["admin", "user"]);

export const keysTable = pgTable("keys", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
key: varchar({ length: 64 }).notNull().unique(),
role: roleEnum().notNull().default("user"),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
});
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Can you check enums in drizzle studio? 1. drizzle-kit studio 2. https://local.drizzle.studio 3. Database studio -> Enums
Top3
Top3OP4w ago
No description
Top3
Top3OP4w ago
nothing
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
I can’t reproduce this right now, but I’ll get back to you once we resolve the issue. Thanks for the details.
Top3
Top3OP4w ago
i can do screen share or something if u need but if u already know about the issue im happy, when will it be fixed estaminated?
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Most likely tomorrow, but definitely by the end of this week.
Top3
Top3OP4w ago
happy to hear that, im waiting for that :Luvv: big w for u, biggest communication skills
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Are you sure roleEnum is exported from your schema? Could you also run this query in SQL console and share the result?
SELECT n.nspname, t.typname
FROM pg_type t
JOIN pg_namespace n ON t.typnamespace = n.oid
WHERE t.typname = 'roleEnum';
SELECT n.nspname, t.typname
FROM pg_type t
JOIN pg_namespace n ON t.typnamespace = n.oid
WHERE t.typname = 'roleEnum';
Top3
Top3OP4w ago
gonna check in 5 hrs im in school rn i mean going to school
import { keysTable } from "./models/key";
import { logsTable } from "./models/logs";
import { overview_cacheTable } from "./models/overview.cache";

// export const keys = keysTable;
export const logs = logsTable;
export const overview_cache = overview_cacheTable;
export const keys = keysTable;
import { keysTable } from "./models/key";
import { logsTable } from "./models/logs";
import { overview_cacheTable } from "./models/overview.cache";

// export const keys = keysTable;
export const logs = logsTable;
export const overview_cache = overview_cacheTable;
export const keys = keysTable;
schema.js
import {
integer,
pgTable,
varchar,
pgEnum,
timestamp,
} from "drizzle-orm/pg-core";

export const roleEnum = pgEnum("roleEnum", ["admin", "user"]);

export const keysTable = pgTable("keys", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
key: varchar({ length: 64 }).notNull().unique(),
role: roleEnum().notNull().default("user"),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
});
import {
integer,
pgTable,
varchar,
pgEnum,
timestamp,
} from "drizzle-orm/pg-core";

export const roleEnum = pgEnum("roleEnum", ["admin", "user"]);

export const keysTable = pgTable("keys", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
key: varchar({ length: 64 }).notNull().unique(),
role: roleEnum().notNull().default("user"),
createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
});
key.js - model all i can give u rn
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
You should export all entities from your main schema file (specified in drizzle.config.ts) so that drizzle-kit can get information about them. Adding this export should resolve the error.
import { keysTable, roleEnum } from "./models/key";
import { logsTable } from "./models/logs";
import { overview_cacheTable } from "./models/overview.cache";

export { roleEnum };

// export const keys = keysTable;
export const logs = logsTable;
export const overview_cache = overview_cacheTable;
export const keys = keysTable;
import { keysTable, roleEnum } from "./models/key";
import { logsTable } from "./models/logs";
import { overview_cacheTable } from "./models/overview.cache";

export { roleEnum };

// export const keys = keysTable;
export const logs = logsTable;
export const overview_cache = overview_cacheTable;
export const keys = keysTable;
Top3
Top3OP4w ago
I pretty sure that i tried that already, but i will check when i'm home okey?
⚡Z.E.U.S⚡
⚡Z.E.U.S⚡4w ago
Sure.
Top3
Top3OP4w ago
Thx for being patient :Luvv: Now IT works, thx My schema was an issue Love u for helping me out

Did you find this page helpful?