{"id":47382,"library":"dbshift","title":"DBShift","description":"DBShift v1.0.2 is a production-ready MySQL database migration tool inspired by Flyway, built for Node.js (>=14). It offers a dual-mode architecture with an interactive terminal UI (React + Ink) and a traditional CLI, enabling author-based sequencing to prevent team conflicts, session persistence, rich history tracking, multi-environment config, and connection testing.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/greddy7574/dbshift","tags":["javascript","database","migration","mysql","schema","flyway","cli","database-migration","sql"],"install":[{"cmd":"npm install dbshift","lang":"bash","label":"npm"},{"cmd":"yarn add dbshift","lang":"bash","label":"yarn"},{"cmd":"pnpm add dbshift","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"MySQL database connectivity","package":"mysql2","optional":false},{"reason":"Interactive UI rendering via Ink","package":"react","optional":false},{"reason":"React-based terminal UI framework","package":"ink","optional":false}],"imports":[{"note":"ESM-only; require() will fail.","wrong":"const dbshift = require('dbshift')","symbol":"dbshift","correct":"import dbshift from 'dbshift'"},{"note":"Named export for programmatic initialization.","wrong":"const init = require('dbshift').init","symbol":"init","correct":"import { init } from 'dbshift'"},{"note":"Export from main entry; subpath imports not supported.","wrong":"const migrate = require('dbshift/migrate')","symbol":"migrate","correct":"import { migrate } from 'dbshift'"}],"quickstart":{"code":"import dbshift from 'dbshift';\nimport { init, migrate } from 'dbshift';\n\n// Initialize project\ninit();\n\n// Run migrations\nmigrate(process.env.DB_URL ?? 'mysql://user:pass@localhost:3306/mydb');\n\n// Or use CLI (interactive mode)\n// $ dbshift","lang":"typescript","description":"Demonstrates programmatic usage with imports for initialization and migration."},"warnings":[{"fix":"Install globally: npm install -g dbshift","message":"Global install required for CLI `dbshift` command; local install does not expose binary.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use import syntax or upgrade Node to >=14 with type: module in package.json","message":"ESM-only package; CommonJS require() throws error.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Upgrade Node to >=14 or use CLI mode with --cli flag","message":"Interactive mode requires Node.js >=14; older versions not supported.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade to v1.0.2 and follow new interactive/CLI syntax","message":"Version 0.x used legacy CLI; v1.0+ introduces dual-mode and breaks backward compatibility.","severity":"deprecated","affected_versions":"<1.0.0"}],"env_vars":null,"search_vec":"'14':19 'architectur':26 'author':40 'author-bas':39 'base':41 'built':16 'cli':37,65 'config':55 'conflict':46 'connect':57 'databas':10,60,67 'database-migr':66 'dbshift':1,2 'dual':24 'dual-mod':23 'enabl':38 'environ':54 'flyway':15,64 'histori':50 'ink':33 'inspir':13 'interact':29 'javascript':59 'migrat':11,61,68 'mode':25 'multi':53 'multi-environ':52 'mysql':9,62 'node.js':18 'offer':21 'persist':48 'prevent':44 'product':7 'production-readi':6 'react':32 'readi':8 'rich':49 'schema':63 'sequenc':42 'session':47 'sql':69 'team':45 'termin':30 'test':58 'tool':12 'track':51 'tradit':36 'ui':31 'v1.0.2':3","created_at":"2026-06-07T16:51:14.689412+00:00","updated_at":"2026-06-07T16:51:14.689412+00:00","problems":[{"fix":"Run `npm install -g dbshift`","cause":"Package not installed globally.","error":"dbshift: command not found"},{"fix":"Use `import dbshift from 'dbshift'` or set `type: module` in package.json","cause":"Using require() instead of import.","error":"ERR_REQUIRE_ESM: require() of ES Module not supported"},{"fix":"Run `npm install` in project root or install dbshift with --include=dev","cause":"Interactive mode dependencies not installed.","error":"Error: Cannot find module 'react'"},{"fix":"Ensure MySQL is running and DB_URL env variable is set correctly","cause":"MySQL server not running or wrong connection config.","error":"Error: connect ECONNREFUSED 127.0.0.1:3306"}],"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/greddy7574/dbshift#readme","github":"https://github.com/greddy7574/dbshift","docs":null,"changelog":null,"pypi":null,"npm":"dbshift","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}}