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

DatabaseURL SchemePackageInstall
SQLitefile: or sqlite:@codesordinatestudio/radiant-plugin-sqlitebun add @codesordinatestudio/radiant-plugin-sqlite
PostgreSQLpostgres: or postgresql:@codesordinatestudio/radiant-plugin-postgresbun add @codesordinatestudio/radiant-plugin-postgres
SurrealDBhttp: or https:@codesordinatestudio/radiant-plugin-surrealdbbun add @codesordinatestudio/radiant-plugin-surrealdb
Turso DBlibsql: or file:@codesordinatestudio/radiant-plugin-tursobun 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