Database CLI
CLI commands for database operations in PraisonAI TypeScript
The praisonai-ts CLI provides the db command for database adapter management and testing.
Quick Start
- Simple Usage
bash praisonai-ts db connect sqlite:./data.db - With Configuration
bash praisonai-ts db test postgres://user:pass@host:5432/db
Commands Overview
| Command | Description |
|---|---|
db connect <url> | Connect to a database |
db test [url] | Test database operations |
db adapters | List available adapters |
db info | Show database information |
db help | Show help |
Connect to Database
Test database connectivity:
# Connect to SQLite
praisonai-ts db connect sqlite:./data.db
# Connect to PostgreSQL
praisonai-ts db connect postgres://user:pass@host:5432/db
# Connect to Redis
praisonai-ts db connect redis://localhost:6379
# JSON output
praisonai-ts db connect sqlite:./data.db --jsonExample Output:
ℹ Connecting to: sqlite:./data.db
✓ Connected successfully (15ms)
URL: sqlite:./data.dbJSON Output:
{
"success": true,
"data": {
"url": "sqlite:./data.db",
"connected": true,
"latency_ms": 15
}
}Test Database Operations
Run a full database test:
# Test with in-memory SQLite (default)
praisonai-ts db test
# Test specific database
praisonai-ts db test sqlite:./test.db
# JSON output
praisonai-ts db test --jsonExample Output:
ℹ Testing database: sqlite::memory:
✓ All tests passed (11ms)
✓ Initialize
✓ Create session
✓ Add message
✓ Get messages (1 retrieved)
✓ Delete sessionList Adapters
View available database adapters:
praisonai-ts db adapters
praisonai-ts db adapters --jsonExample Output:
Database Adapters
✓ sqlite SQLite database
✓ postgres PostgreSQL (Neon)
✓ redis Redis (Upstash)JSON Output:
{
"success": true,
"data": {
"adapters": [
{ "name": "sqlite", "description": "SQLite database", "available": true },
{ "name": "redis", "description": "Redis (Upstash)", "available": true },
{ "name": "postgres", "description": "PostgreSQL (Neon)", "available": true }
]
}
}Database Info
Show database feature information:
praisonai-ts db infoSupported Database URLs
| Database | URL Format |
|---|---|
| SQLite | sqlite:./data.db or sqlite::memory: |
| PostgreSQL | postgres://user:pass@host:5432/db |
| Redis | redis://host:port or rediss://... |
SDK Usage
db("sqlite:./data.db") returns a real, working SqliteDbAdapter that implements the full session/message/run contract. The createUpstashRedis / createNeonPostgres factories return remote-only key/value transports — not DbAdapters.
import { db, createUpstashRedis, createNeonPostgres } from 'praisonai';
// Durable Agent session store — a real SqliteDbAdapter
const adapter = db("sqlite:./data.db");
await adapter.connect();
// Remote key/value transports (query/get/set) — NOT Agent session stores
const redis = createUpstashRedis({
url: process.env.UPSTASH_REDIS_URL,
token: process.env.UPSTASH_REDIS_TOKEN
});
const pg = createNeonPostgres({
connectionString: process.env.DATABASE_URL
});For more details, see the Database SDK documentation.