Query the project's database using Drizzle ORM. Use when the user asks about database contents, schema inspection, or data queries. Supports read-only mode for safety.
Execute SQL queries against the project's database through Drizzle ORM.
Run queries using the query script located in this skill's directory:
node .claude/skills/drizzle-db/scripts/query.js "SELECT * FROM users LIMIT 10"
The script:
This skill is configured during installation:
dialect: Database type (sqlite/postgres/mysql)databasePath: For SQLite - direct path to .db file (e.g., ./apps/web/data/app.db)drizzleConfigPath: For Postgres/MySQL - path to drizzle.config.tsreadOnly: Whether to enforce read-only queries (default: true)Configuration is stored in .claude/skills/drizzle-db/.config.json
Example config for SQLite:
{
"dialect": "sqlite",
"databasePath": "./apps/web/data/app.db",
"readOnly": true
}
When readOnly is true (default), the following operations are blocked:
Only SELECT queries are allowed for safety.
# Get all users
node .claude/skills/drizzle-db/scripts/query.js "SELECT * FROM users"
# Count records
node .claude/skills/drizzle-db/scripts/query.js "SELECT COUNT(*) FROM posts"
# Join tables
node .claude/skills/drizzle-db/scripts/query.js "SELECT u.name, p.title FROM users u JOIN posts p ON u.id = p.user_id"
# Get schema information
node .claude/skills/drizzle-db/scripts/query.js "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'"
If queries fail:
.config.jsonnpm install drizzle-orm