Skip to content

Commit 32275d3

Browse files
Add support for Neon database in db-setup and update dependencies (#339)
Co-authored-by: Aman Varshney <amanvarshney.work@gmail.com>
1 parent 353f60e commit 32275d3

File tree

4 files changed

+36
-5
lines changed

4 files changed

+36
-5
lines changed

.changeset/large-lizards-write.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"create-better-t-stack": patch
3+
---
4+
5+
Add support for Neon database in db-setup

apps/cli/src/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const dependencyVersionMap = {
3434
"drizzle-kit": "^0.31.2",
3535

3636
"@libsql/client": "^0.15.9",
37+
"@neondatabase/serverless": "^1.0.1",
3738
pg: "^8.14.1",
3839
"@types/pg": "^8.11.11",
3940

apps/cli/src/helpers/setup/db-setup.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,19 @@ export async function setupDatabase(config: ProjectConfig): Promise<void> {
4848
projectDir: serverDir,
4949
});
5050
} else if (database === "postgres") {
51-
await addPackageDependency({
52-
dependencies: ["drizzle-orm", "pg"],
53-
devDependencies: ["drizzle-kit", "@types/pg"],
54-
projectDir: serverDir,
55-
});
51+
if (dbSetup === "neon") {
52+
await addPackageDependency({
53+
dependencies: ["drizzle-orm", "@neondatabase/serverless"],
54+
devDependencies: ["drizzle-kit"],
55+
projectDir: serverDir,
56+
});
57+
} else {
58+
await addPackageDependency({
59+
dependencies: ["drizzle-orm", "pg"],
60+
devDependencies: ["drizzle-kit", "@types/pg"],
61+
projectDir: serverDir,
62+
});
63+
}
5664
} else if (database === "mysql") {
5765
await addPackageDependency({
5866
dependencies: ["drizzle-orm", "mysql2"],
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,29 @@
11
{{#if (or (eq runtime "bun") (eq runtime "node"))}}
2+
{{#if (eq dbSetup "neon")}}
3+
import { neon } from '@neondatabase/serverless';
4+
import { drizzle } from 'drizzle-orm/neon-http';
5+
6+
const sql = neon(process.env.DATABASE_URL || "");
7+
export const db = drizzle(sql);
8+
{{else}}
29
import { drizzle } from "drizzle-orm/node-postgres";
310

411
export const db = drizzle(process.env.DATABASE_URL || "");
512
{{/if}}
13+
{{/if}}
614

715
{{#if (eq runtime "workers")}}
16+
{{#if (eq dbSetup "neon")}}
17+
import { neon } from '@neondatabase/serverless';
18+
import { drizzle } from 'drizzle-orm/neon-http';
19+
import { env } from "cloudflare:workers";
20+
21+
const sql = neon(env.DATABASE_URL || "");
22+
export const db = drizzle(sql);
23+
{{else}}
824
import { drizzle } from "drizzle-orm/node-postgres";
925
import { env } from "cloudflare:workers";
1026

1127
export const db = drizzle(env.DATABASE_URL || "");
1228
{{/if}}
29+
{{/if}}

0 commit comments

Comments
 (0)