{"id":18907,"library":"vr-migrations","title":"VR Migrations","description":"VR Migrations is a database migration and seeding library for Node.js applications, built on Sequelize. It supports PostgreSQL, MySQL, SQLite, and other Sequelize-compatible databases. The package is actively maintained with frequent updates (current stable version 1.0.38, released in 2025). It offers CLI and programmatic migration management, with TypeScript type definitions included. Key differentiators from generic migration tools (like db-migrate) include tight integration with Sequelize models and a VR-themed API (universe, planets for migrations/seeds).","status":"active","version":"1.0.38","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","migrations","database","sequelize","vr","seeding","postgres","mysql","sqlite","typescript"],"install":[{"cmd":"npm install vr-migrations","lang":"bash","label":"npm"},{"cmd":"yarn add vr-migrations","lang":"bash","label":"yarn"},{"cmd":"pnpm add vr-migrations","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core ORM for database connection and model definitions","package":"sequelize","optional":false},{"reason":"Underlying migration engine (Sequelize-based)","package":"umzug","optional":false}],"imports":[{"note":"ESM-only since v1.0.0; CJS require() will cause error.","wrong":"const migrate = require('vr-migrations')","symbol":"migrate","correct":"import { migrate } from 'vr-migrations'"},{"note":"seed is a named export from main entry, no subpath needed.","wrong":"import { seed } from 'vr-migrations/seed'","symbol":"seed","correct":"import { seed } from 'vr-migrations'"},{"note":"Migration is a named export, not default. Default export is the whole library object.","wrong":"import Migration from 'vr-migrations'","symbol":"Migration","correct":"import { Migration } from 'vr-migrations'"},{"note":"Class for advanced usage; must be imported with exact name.","wrong":"import { VRMigrator as Migrator } from 'vr-migrations'","symbol":"VRMigrator","correct":"import { VRMigrator } from 'vr-migrations'"}],"quickstart":{"code":"import { migrate, seed } from 'vr-migrations';\nimport { Sequelize } from 'sequelize';\n\nconst sequelize = new Sequelize({\n  dialect: 'sqlite',\n  storage: ':memory:',\n  logging: false\n});\n\nasync function run() {\n  await migrate({\n    sequelize,\n    migrationsDir: './migrations',\n    tableName: 'migrations'\n  });\n\n  await seed({\n    sequelize,\n    seedsDir: './seeds',\n    tableName: 'seeds'\n  });\n\n  await sequelize.close();\n}\n\nrun().catch(console.error);","lang":"typescript","description":"Shows how to run migrations and seed using an in-memory SQLite database with the library's provided functions."},"warnings":[{"fix":"Replace `import VrMigrations from 'vr-migrations'` with `import { migrate, seed } from 'vr-migrations'`.","message":"Default export removed in v1.0.0 in favor of named exports.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use `migrate` function instead.","message":"Function `runMigrations` is deprecated since v0.9.0.","severity":"deprecated","affected_versions":">=0.9.0 <1.0.0"},{"fix":"Import named symbols to get full type support.","message":"TypeScript types are only available for named exports; default export lacks typings.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure your project uses Sequelize v6.x.","message":"Sequelize v6 is required; v7 may break compatibility.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Switch to ES modules or use dynamic import: `const { migrate } = await import('vr-migrations')`","cause":"CJS require() used on an ESM-only package","error":"TypeError: (0 , vr_migrations.migrate) is not a function"},{"fix":"Run `npm install vr-migrations` and verify the import is correct.","cause":"Package not installed or import path misspelled","error":"Cannot find module 'vr-migrations'"},{"fix":"Ensure you pass a configured Sequelize instance: `migrate({ sequelize: yourSequelizeInstance })`","cause":"Missing or invalid sequelize option passed to migrate/seed","error":"Error: Cannot sequelize connection. Please provide valid sequelize instance."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}