@vite-hub/database
v0.0.1
Published
Vite-first Drizzle database primitives for ViteHub.
Maintainers
Readme
@vite-hub/database
@vite-hub/database turns a colocated Drizzle schema into generated db and schema imports for server code.
Install
pnpm add @vite-hub/database drizzle-orm
pnpm add -D drizzle-kitMinimal API
// server/databases/config.ts
import { defineDatabase } from "@vite-hub/database"
import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core"
export default defineDatabase({
tables: {
notes: sqliteTable("notes", {
id: integer("id").primaryKey({ autoIncrement: true }),
title: text("title").notNull(),
}),
},
})// server/api/notes.get.ts
import { db, schema } from "@vite-hub/database/drizzle"
import { defineEventHandler } from "h3"
export default defineEventHandler(() => {
return db.select().from(schema.notes)
})// vite.config.ts
import { hubDb } from "@vite-hub/database/vite"
import { defineConfig } from "vite"
export default defineConfig({
plugins: [hubDb()],
})Vite and Nitro
Use server/databases/config.ts for the default database, or server/databases/<name>/config.ts for named databases. Vite discovers those files, writes generated Drizzle artifacts, and lets Nitro handlers import @vite-hub/database/drizzle.
Built on Drizzle ORM, Drizzle Kit, libSQL, and Cloudflare D1 bindings when deployed to Cloudflare.
Learn more at vitehub.dev.
