Package Exports
- @makeco/db-cli
Readme
@makeco/db-cli
⚠️ Experimental Package
This package is currently in development and should be considered experimental. Only postgres and sqlite are tested. The API may change at any time.
A powerful database CLI tool that extends drizzle-kit with additional commands for database management workflows. Simplify your database operations with powerful commands like reset which drops all schemas/tables and refresh which drops migrations → generates migrations → resets db schemas/tables → migrate schemas .
Installation
npm install @makeco/db-cli drizzle-kit
yarn add @makeco/db-cli drizzle-kit
bun add @makeco/db-cli drizzle-kitQuick Start
- Add a
dbscript to your package.json scripts with the config flag:
{
"scripts": {
"db": "bunx @makeco/db-cli -c ./db.config.ts"
}
}- Define a
db.config.tsfile in your project.
import { defineConfig } from "@makeco/db-cli";
export default defineConfig({
drizzleConfig: "./drizzle.config.ts",
seed: "./src/scripts/db.seed.ts",
});- Add a
db.seed.tsfile
Note: Your seed file should export a default function.
// src/scripts/db.seed.ts
import { drizzle } from "drizzle-orm/postgres-js";
import { roles } from "../schemas";
const db = drizzle(process.env.DATABASE_URL);
export default async function seed() {
await db.insert(roles).values([
{ name: 'admin', permissions: ['read', 'write', 'delete'] },
{ name: 'user', permissions: ['read'] }
]);
}Then run commands with:
bun db generate
bun db migrate
bun db seed
bun db list --countCommands
drop # Drop migrations folder (drizzle-kit default behavior)
generate # Generate new migrations from schema changes
migrate # Apply pending migrations to the database
studio # Launch Drizzle Studio web interface
push # Push schema changes directly to database (no migrations)
health # Check database connection and health status
ls # List database tables and schemas (alias for list)
seed # Seed database with initial data (requires seed path in db.config.ts)
truncate # Truncate database data while preserving table structure
reset # Clear database data (drop all tables and schemas)
refresh # Complete refresh: drop migrations → generate → clear data → migrateDatabase Support Status
| Database | Status | Notes |
|---|---|---|
| PostgreSQL | ✅ Tested | Manually tested and working |
| SQLite | ✅ Tested | Manually tested and working |
| MySQL | ⚠️ Untested | Implementation exists but not officially tested |
| Turso | ⚠️ Untested | Implementation exists but not officially tested |
| SingleStore | ⚠️ Untested | Implementation exists but not officially tested |
| Gel | ⚠️ Untested | Implementation exists but not officially tested |
License
MIT © @makeco