src/content/docs/drizzle-kit-up.mdx
import CodeTab from "@mdx/CodeTab.astro"; import CodeTabs from "@mdx/CodeTabs.astro"; import Section from "@mdx/Section.astro"; import Tab from "@mdx/Tab.astro"; import Tabs from "@mdx/Tabs.astro"; import Callout from "@mdx/Callout.astro"; import Prerequisites from "@mdx/Prerequisites.astro"; import Npx from "@mdx/Npx.astro";
drizzle-kit updrizzle-kit up command lets you upgrade drizzle schema snapshots to a newer version.
It's required whenever we introduce breaking changes to the json snapshots of the schema and upgrade the internal version.
drizzle-kit up command requires you to specify both dialect and database connection credentials,
you can provide them either via drizzle.config.ts config file or via CLI options
<CodeTabs items={["With config file", "As CLI options"]}>
<Section> ```ts {5,8} // drizzle.config.ts import { defineConfig } from "drizzle-kit";export default defineConfig({ dialect: "postgresql", });
```shell
npx drizzle-kit up
You can have multiple config files in the project, it's very useful when you have multiple database stages or multiple databases on the same project: <Npx> drizzle-kit migrate --config=drizzle-dev.config.ts drizzle-kit migrate --config=drizzle-prod.config.ts </Npx>
š¦ <project root>
ā š drizzle
ā š src
ā š .env
ā š drizzle-dev.config.ts
ā š drizzle-prod.config.ts
ā š package.json
ā š tsconfig.json
We recommend configuring drizzle-kit through drizzle.config.ts file,
yet you can provide all configuration options through CLI if necessary, e.g. in CI/CD pipelines, etc.
<rem025/>
dialect | required | Database dialect you are using. Can be postgresql,mysql or sqlite |
out | Migrations folder, default=./drizzle | |
config | Configuration file path, default=drizzle.config.ts |