Database Plugins
Radiant supports five database engines through adapter plugins. Each plugin implements the RadiantAdapter interface — you pick the one that matches your DATABASE_URL.
Quick Reference
| Database | URL Scheme | Package | Install |
|---|---|---|---|
| SQLite | file: or sqlite: | @codesordinatestudio/radiant-plugin-sqlite | bun add @codesordinatestudio/radiant-plugin-sqlite |
| PostgreSQL | postgres: or postgresql: | @codesordinatestudio/radiant-plugin-postgres | bun add @codesordinatestudio/radiant-plugin-postgres |
| SurrealDB | http: or https: | @codesordinatestudio/radiant-plugin-surrealdb | bun add @codesordinatestudio/radiant-plugin-surrealdb |
| Turso DB | libsql: or file: | @codesordinatestudio/radiant-plugin-turso | bun add @codesordinatestudio/radiant-plugin-turso |
SQLite
Zero-config, file-based database. Ideal for development and small deployments.
import { sqlite } from "@codesordinatestudio/radiant-plugin-sqlite";
export const app = createRadiant({
adapter: sqlite({ url: "file:./radiant.sqlite" }),
});
# .env
DATABASE_URL=file:./radiant.sqlite
PostgreSQL
Production-grade relational database with connection pooling support.
import { postgres } from "@codesordinatestudio/radiant-plugin-postgres";
export const app = createRadiant({
adapter: postgres({
url: process.env.DATABASE_URL!,
pool: { max: 10 }, // optional connection pool size
pgBouncer: false, // set true if using PgBouncer
}),
});
# .env
DATABASE_URL=postgres://user:password@localhost:5432/mydb
SurrealDB
Multi-model database with HTTP API.
import { surrealdb } from "@codesordinatestudio/radiant-plugin-surrealdb";
export const app = createRadiant({
adapter: surrealdb({
url: process.env.DATABASE_URL!,
user: process.env.SURREAL_USER || "root",
pass: process.env.SURREAL_PASS || "root",
ns: process.env.SURREAL_NS || "test",
db: process.env.SURREAL_DB || "test",
}),
});
# .env
DATABASE_URL=http://localhost:8000
SURREAL_USER=root
SURREAL_PASS=root
SURREAL_NS=test
SURREAL_DB=test
Turso DB
Edge database based on libSQL. Supports local file mode and remote connections.
import { turso } from "@codesordinatestudio/radiant-plugin-turso";
export const app = createRadiant({
adapter: turso({
url: process.env.DATABASE_URL!,
authToken: process.env.TURSO_AUTH_TOKEN, // optional for local files
}),
});
# .env
DATABASE_URL=libsql://your-db.turso.io
TURSO_AUTH_TOKEN=your-auth-token
Related
- Project Structure — Where plugins are registered
- Database Sync — Syncing schema changes to your database
- Environment Variables — Database connection env vars