mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
Add support for Neon database in db-setup and update dependencies (#339)
Co-authored-by: Aman Varshney <amanvarshney.work@gmail.com>
This commit is contained in:
5
.changeset/large-lizards-write.md
Normal file
5
.changeset/large-lizards-write.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"create-better-t-stack": patch
|
||||
---
|
||||
|
||||
Add support for Neon database in db-setup
|
||||
@@ -34,6 +34,7 @@ export const dependencyVersionMap = {
|
||||
"drizzle-kit": "^0.31.2",
|
||||
|
||||
"@libsql/client": "^0.15.9",
|
||||
"@neondatabase/serverless": "^1.0.1",
|
||||
pg: "^8.14.1",
|
||||
"@types/pg": "^8.11.11",
|
||||
|
||||
|
||||
@@ -48,11 +48,19 @@ export async function setupDatabase(config: ProjectConfig): Promise<void> {
|
||||
projectDir: serverDir,
|
||||
});
|
||||
} else if (database === "postgres") {
|
||||
await addPackageDependency({
|
||||
dependencies: ["drizzle-orm", "pg"],
|
||||
devDependencies: ["drizzle-kit", "@types/pg"],
|
||||
projectDir: serverDir,
|
||||
});
|
||||
if (dbSetup === "neon") {
|
||||
await addPackageDependency({
|
||||
dependencies: ["drizzle-orm", "@neondatabase/serverless"],
|
||||
devDependencies: ["drizzle-kit"],
|
||||
projectDir: serverDir,
|
||||
});
|
||||
} else {
|
||||
await addPackageDependency({
|
||||
dependencies: ["drizzle-orm", "pg"],
|
||||
devDependencies: ["drizzle-kit", "@types/pg"],
|
||||
projectDir: serverDir,
|
||||
});
|
||||
}
|
||||
} else if (database === "mysql") {
|
||||
await addPackageDependency({
|
||||
dependencies: ["drizzle-orm", "mysql2"],
|
||||
|
||||
@@ -1,12 +1,29 @@
|
||||
{{#if (or (eq runtime "bun") (eq runtime "node"))}}
|
||||
{{#if (eq dbSetup "neon")}}
|
||||
import { neon } from '@neondatabase/serverless';
|
||||
import { drizzle } from 'drizzle-orm/neon-http';
|
||||
|
||||
const sql = neon(process.env.DATABASE_URL || "");
|
||||
export const db = drizzle(sql);
|
||||
{{else}}
|
||||
import { drizzle } from "drizzle-orm/node-postgres";
|
||||
|
||||
export const db = drizzle(process.env.DATABASE_URL || "");
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq runtime "workers")}}
|
||||
{{#if (eq dbSetup "neon")}}
|
||||
import { neon } from '@neondatabase/serverless';
|
||||
import { drizzle } from 'drizzle-orm/neon-http';
|
||||
import { env } from "cloudflare:workers";
|
||||
|
||||
const sql = neon(env.DATABASE_URL || "");
|
||||
export const db = drizzle(sql);
|
||||
{{else}}
|
||||
import { drizzle } from "drizzle-orm/node-postgres";
|
||||
import { env } from "cloudflare:workers";
|
||||
|
||||
export const db = drizzle(env.DATABASE_URL || "");
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
Reference in New Issue
Block a user