drizzle-seed thinks I'm not using MySQL.
Error: The drizzle-seed package currently supports only PostgreSQL, MySQL, and SQLite databases. Please ensure your database is one of these supported types
at seedFunc (/Users/user/Code/starter/node_modules/src/index.ts:393:9)
at SeedPromise.then (/Users/user/Code/starter/node_modules/src/index.ts:167:10)
Error: The drizzle-seed package currently supports only PostgreSQL, MySQL, and SQLite databases. Please ensure your database is one of these supported types
at seedFunc (/Users/user/Code/starter/node_modules/src/index.ts:393:9)
at SeedPromise.then (/Users/user/Code/starter/node_modules/src/index.ts:167:10)
seed.ts
import "@/server/envConfig";
import { seed } from "drizzle-seed";
import { db } from ".";
import { account, user } from "./schema";
async function main() {
await seed(db, { user, account });
}
main();
seed.ts
import "@/server/envConfig";
import { seed } from "drizzle-seed";
import { db } from ".";
import { account, user } from "./schema";
async function main() {
await seed(db, { user, account });
}
main();
// db.ts
import { withReplicas } from "drizzle-orm/mysql-core";
import { drizzle } from "drizzle-orm/mysql2";
import { serverEnv } from "@/env/server";
import config from "./config";
import * as relations from "./relations";
import * as schema from "./schema";
const DRIZZLE_CONFIG = {
schema: {
...schema,
...relations,
},
mode: "default" as const,
casing: "snake_case" as const,
} as const;
const primaryDb = drizzle({
...DRIZZLE_CONFIG,
connection: { uri: config.primary },
});
const replicaDbs =
config.read.length > 0
? config.read.map((url) =>
drizzle({
...DRIZZLE_CONFIG,
connection: { uri: url },
}),
)
: [primaryDb];
const drizzleDb = withReplicas(
primaryDb,
replicaDbs as [typeof primaryDb, ...(typeof primaryDb)[]],
);
declare const global: {
drizzleGlobal: typeof drizzleDb;
};
const db = global.drizzleGlobal ?? drizzleDb;
export { db, primaryDb, replicaDbs };
export type TransactionType = Parameters<
Parameters<typeof db.transaction>[0]
>[0];
if (serverEnv.NODE_ENV !== "production") global.drizzleGlobal = db;
// db.ts
import { withReplicas } from "drizzle-orm/mysql-core";
import { drizzle } from "drizzle-orm/mysql2";
import { serverEnv } from "@/env/server";
import config from "./config";
import * as relations from "./relations";
import * as schema from "./schema";
const DRIZZLE_CONFIG = {
schema: {
...schema,
...relations,
},
mode: "default" as const,
casing: "snake_case" as const,
} as const;
const primaryDb = drizzle({
...DRIZZLE_CONFIG,
connection: { uri: config.primary },
});
const replicaDbs =
config.read.length > 0
? config.read.map((url) =>
drizzle({
...DRIZZLE_CONFIG,
connection: { uri: url },
}),
)
: [primaryDb];
const drizzleDb = withReplicas(
primaryDb,
replicaDbs as [typeof primaryDb, ...(typeof primaryDb)[]],
);
declare const global: {
drizzleGlobal: typeof drizzleDb;
};
const db = global.drizzleGlobal ?? drizzleDb;
export { db, primaryDb, replicaDbs };
export type TransactionType = Parameters<
Parameters<typeof db.transaction>[0]
>[0];
if (serverEnv.NODE_ENV !== "production") global.drizzleGlobal = db;
// drizzle.config.ts
import { type Config, defineConfig } from "drizzle-kit";
import config from "./server/db/config";
export default defineConfig({
dialect: "mysql",
dbCredentials: {
url: config.primary,
},
casing: "snake_case",
}) satisfies Config;
// drizzle.config.ts
import { type Config, defineConfig } from "drizzle-kit";
import config from "./server/db/config";
export default defineConfig({
dialect: "mysql",
dbCredentials: {
url: config.primary,
},
casing: "snake_case",
}) satisfies Config;
1 Reply
I removed the withReplicas and it started working.
import { drizzle } from "drizzle-orm/mysql2";
import { serverEnv } from "@/env/server";
import config from "./config";
import * as relations from "./relations";
import * as schema from "./schema";
const DRIZZLE_CONFIG = {
schema: {
...schema,
...relations,
},
mode: "default" as const,
casing: "snake_case" as const,
} as const;
const primaryDb = drizzle({
...DRIZZLE_CONFIG,
connection: { uri: config.primary },
});
const drizzleDb = primaryDb;
declare const global: {
drizzleGlobal: typeof drizzleDb;
};
const db = global.drizzleGlobal ?? drizzleDb;
export { db, primaryDb };
if (serverEnv.NODE_ENV !== "production") global.drizzleGlobal = db;
import { drizzle } from "drizzle-orm/mysql2";
import { serverEnv } from "@/env/server";
import config from "./config";
import * as relations from "./relations";
import * as schema from "./schema";
const DRIZZLE_CONFIG = {
schema: {
...schema,
...relations,
},
mode: "default" as const,
casing: "snake_case" as const,
} as const;
const primaryDb = drizzle({
...DRIZZLE_CONFIG,
connection: { uri: config.primary },
});
const drizzleDb = primaryDb;
declare const global: {
drizzleGlobal: typeof drizzleDb;
};
const db = global.drizzleGlobal ?? drizzleDb;
export { db, primaryDb };
if (serverEnv.NODE_ENV !== "production") global.drizzleGlobal = db;