dax70
DTDrizzle Team
•Created by Cole on 3/29/2025 in #help
Seed local SQLite database from Remote D1 data?
I had a similar issue and solved it by updating both npm scripts and drizzle-dev.config.ts
Here is the code relevant code.
"db:seed": "LOCAL_DB_PATH=$(find .wrangler/state/v3/d1/miniflare-D1DatabaseObject -type f -name '*.sqlite' -print -quit) tsx -r dotenv/config ./drizzle/seed.ts",
"db:seed": "LOCAL_DB_PATH=$(find .wrangler/state/v3/d1/miniflare-D1DatabaseObject -type f -name '*.sqlite' -print -quit) tsx -r dotenv/config ./drizzle/seed.ts",
import type { Config } from "drizzle-kit";
// Example of a local database path
const LOCAL_DB_PATH = process.env.LOCAL_DB_PATH;
export default LOCAL_DB_PATH
? ({
out: "./drizzle",
schema: "./database/schema.ts",
dialect: "sqlite",
dbCredentials: {
url: LOCAL_DB_PATH,
},
} satisfies Config)
: ({
out: "./drizzle",
schema: "./database/schema.ts",
dialect: "sqlite",
driver: "d1-http",
dbCredentials: {
databaseId: "YOUR_DB_ID,
accountId: process.env.CLOUDFLARE_ACCOUNT_ID!,
token: process.env.CLOUDFLARE_TOKEN!,
},
} satisfies Config);
import type { Config } from "drizzle-kit";
// Example of a local database path
const LOCAL_DB_PATH = process.env.LOCAL_DB_PATH;
export default LOCAL_DB_PATH
? ({
out: "./drizzle",
schema: "./database/schema.ts",
dialect: "sqlite",
dbCredentials: {
url: LOCAL_DB_PATH,
},
} satisfies Config)
: ({
out: "./drizzle",
schema: "./database/schema.ts",
dialect: "sqlite",
driver: "d1-http",
dbCredentials: {
databaseId: "YOUR_DB_ID,
accountId: process.env.CLOUDFLARE_ACCOUNT_ID!,
token: process.env.CLOUDFLARE_TOKEN!,
},
} satisfies Config);
2 replies