Skip to content

Commit 44d62e2

Browse files
committed
feat: add support for database migration with dialect as suffix
1 parent 58fad42 commit 44d62e2

File tree

21 files changed

+363
-81
lines changed

21 files changed

+363
-81
lines changed

docs/content/docs/2.features/database.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,10 @@ CREATE TABLE `todos` (
601601
);
602602
```
603603

604+
::note
605+
You can create dialect-specific migrations by adding a `.<dialect>.sql` suffix to your migration files (e.g., `0001_create-todos.postgresql.sql` or `0001_create-todos.sqlite.sql`). This is useful when you need different SQL syntax for different database dialects.
606+
::
607+
604608
::note{to="/docs/guides/drizzle#npm-run-dbgenerate"}
605609
With [Drizzle ORM](/docs/guides/drizzle), migrations are automatically created when you run `npx drizzle-kit generate`.
606610
::

playground/.env.example

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
# Used for /api/hyperdrive
2-
NUXT_POSTGRES_URL=
1+
# Postgres database
2+
DATABASE_URL=
3+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CREATE TABLE IF NOT EXISTS users (
2+
id SERIAL PRIMARY KEY,
3+
email TEXT NOT NULL,
4+
password TEXT NOT NULL
5+
);
6+
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
CREATE TABLE IF NOT EXISTS users (
2-
id INTEGER PRIMARY KEY AUTOINCREMENT,
2+
id SERIAL PRIMARY KEY,
33
email TEXT NOT NULL,
44
password TEXT NOT NULL
55
);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CREATE TABLE IF NOT EXISTS users (
2+
id INTEGER PRIMARY KEY AUTOINCREMENT,
3+
email TEXT NOT NULL,
4+
password TEXT NOT NULL
5+
);
6+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CREATE TABLE IF NOT EXISTS pages (
2+
id SERIAL PRIMARY KEY,
3+
title TEXT NOT NULL,
4+
content TEXT NOT NULL
5+
);
6+
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
CREATE TABLE IF NOT EXISTS pages (
2-
id INTEGER PRIMARY KEY,
2+
id SERIAL PRIMARY KEY,
33
title TEXT NOT NULL,
44
content TEXT NOT NULL
55
);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CREATE TABLE IF NOT EXISTS pages (
2+
id INTEGER PRIMARY KEY AUTOINCREMENT,
3+
title TEXT NOT NULL,
4+
content TEXT NOT NULL
5+
);
6+

playground/nuxt.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default defineNuxtConfig({
3232

3333
hub: {
3434
ai: 'cloudflare',
35-
database: 'sqlite',
35+
database: process.env.TEST ? 'sqlite' : 'postgresql',
3636
blob: true,
3737
kv: true,
3838
cache: true

playground/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
},
1111
"dependencies": {
1212
"@ai-sdk/vue": "^2.0.68",
13+
"@electric-sql/pglite": "^0.3.11",
1314
"@iconify-json/simple-icons": "^1.2.54",
1415
"@kgierke/nuxt-basic-auth": "^1.7.0",
1516
"@nuxt/ui": "4.0.1",
@@ -22,6 +23,7 @@
2223
"drizzle-orm": "^0.44.6",
2324
"nuxt": "^4.1.3",
2425
"nuxt-auth-utils": "^0.5.25",
26+
"pg": "^8.16.3",
2527
"tailwindcss": "^4.1.14",
2628
"workers-ai-provider": "^2.0.0",
2729
"zod": "^4.1.12"

0 commit comments

Comments
 (0)