{"id":47202,"library":"bun-psql-migrations","title":"bun-psql-migrations","description":"Lightweight PostgreSQL migration tool for Bun v1.0.2. Uses Bun's built-in SQL client, no external drivers. Features timestamp-based migration files, transaction-safe up/down SQL, CLI commands (init, create, migrate, rollback, reset), and a programmatic API. Zero-config with DATABASE_URL. Minimal dependencies (pino for logging). Suitable for Bun projects that need simple, team-friendly schema migrations without heavy ORMs.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/iam4x/bun-psql-migrations","tags":["javascript","bun","postgresql","postgres","psql","pg","migrations","migrate","migrator","typescript"],"install":[{"cmd":"npm install bun-psql-migrations","lang":"bash","label":"npm"},{"cmd":"yarn add bun-psql-migrations","lang":"bash","label":"yarn"},{"cmd":"pnpm add bun-psql-migrations","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only; require() will throw error.","wrong":"const { migrate } = require('bun-psql-migrations')","symbol":"migrate","correct":"import { migrate } from 'bun-psql-migrations'"},{"note":"CommonJS not supported. Use ESM imports.","symbol":"rollback","correct":"import { rollback } from 'bun-psql-migrations'"},{"note":"Named export, not default export.","wrong":"import getPendingMigrations from 'bun-psql-migrations'","symbol":"getPendingMigrations","correct":"import { getPendingMigrations } from 'bun-psql-migrations'"}],"quickstart":{"code":"import { migrate, rollback, createMigration, init } from 'bun-psql-migrations';\n\n// Initialize migrations directory\nawait init();\n\n// Create a new migration\nconst name = await createMigration('add_users');\nconsole.log(`Created migration: ${name}`);\n\n// Run pending migrations (requires DATABASE_URL env)\nawait migrate();\n\n// Rollback last migration\nawait rollback();","lang":"typescript","description":"Initialize, create, and run migrations programmatically using ESM imports."},"warnings":[{"fix":"Use only with Bun (bun run script.ts).","message":"Requires Bun runtime; does not work with Node.js or Deno.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Install typescript@^5.8.3 as devDependency.","message":"TypeScript peer dependency is required but may change in future versions.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Run 'bunx bun-psql-migrations init' before any migrate/rollback.","message":"Default migration directory is './migrations'. Must be initialized with `init` command before running migrations.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Set DATABASE_URL in .env or prefix command: DATABASE_URL=postgres://... bunx ...","message":"All CLI commands require DATABASE_URL environment variable or it will fail with connection error.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'api':44 'base':26 'built':16 'built-in':15 'bun':2,10,13,58,72 'bun-psql-migr':1 'cli':34 'client':19 'command':35 'config':47 'creat':37 'databas':49 'depend':52 'driver':22 'extern':21 'featur':23 'file':28 'friend':65 'heavi':69 'init':36 'javascript':71 'lightweight':5 'log':55 'migrat':4,7,27,38,67,77,78,79 'minim':51 'need':61 'orm':70 'pg':76 'pino':53 'postgr':74 'postgresql':6,73 'programmat':43 'project':59 'psql':3,75 'reset':40 'rollback':39 'safe':31 'schema':66 'simpl':62 'sql':18,33 'suitabl':56 'team':64 'team-friend':63 'timestamp':25 'timestamp-bas':24 'tool':8 'transact':30 'transaction-saf':29 'typescript':80 'up/down':32 'url':50 'use':12 'v1.0.2':11 'without':68 'zero':46 'zero-config':45","created_at":"2026-06-07T16:50:19.037617+00:00","updated_at":"2026-06-07T16:50:19.037617+00:00","problems":[{"fix":"Replace const x = require(...) with import { x } from 'bun-psql-migrations' and run with bun.","cause":"Using CommonJS require() instead of ESM import.","error":"Error: Cannot find module 'bun-psql-migrations'"},{"fix":"Run 'bunx bun-psql-migrations init' then create migration with 'bunx bun-psql-migrations create your_migration_name'.","cause":"Migrations directory not initialized or no .up.sql files found.","error":"Error: No pending migrations to run"},{"fix":"Ensure PostgreSQL is running and set correct DATABASE_URL (e.g., postgres://user:pass@localhost:5432/dbname).","cause":"PostgreSQL not running or DATABASE_URL missing/invalid.","error":"Error: connect ECONNREFUSED ::1:5432"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/iam4x/bun-psql-migrations#readme","github":"https://github.com/iam4x/bun-psql-migrations","docs":null,"changelog":null,"pypi":null,"npm":"bun-psql-migrations","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}