{"id":48154,"library":"ht-sequelize","title":"HT Sequelize Migration Tool","description":"A migration generation tool for Sequelize with TypeScript decorators (sequelize-typescript). Version 1.4.5 scans model decorators to detect schema changes and auto-generates up/down migration files, similar to Django's makemigration. Compatible with sequelize v6 (use ~2.0.0) and v4 (use ~1.0.0). Requires Node >=12. Key differentiator: automatic diff-based migration for decorator-based models, reducing manual migration writing. Development is sporadic; forked from multiple community repositories. Down migrations may be unreliable due to relation ordering issues.","status":"active","version":"1.4.5","language":"javascript","source_language":"en","source_url":"https://github.com/alin1124/sequelize-typescript-migration","tags":["javascript","sequelize","typescript","migrate","migration","makemigration","diff","compare","detect"],"install":[{"cmd":"npm install ht-sequelize","lang":"bash","label":"npm"},{"cmd":"yarn add ht-sequelize","lang":"bash","label":"yarn"},{"cmd":"pnpm add ht-sequelize","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for model decorator parsing (not raw sequelize)","package":"sequelize-typescript","optional":false}],"imports":[{"note":"Package supports both ESM and CJS. TypeScript types are included.","wrong":"const SequelizeTypescriptMigration = require('sequelize-typescript-migration-ht')","symbol":"SequelizeTypescriptMigration","correct":"import { SequelizeTypescriptMigration } from 'sequelize-typescript-migration-ht'"},{"note":"makeMigration is a static method on the default export's main class, not a named export.","wrong":"import { makeMigration } from 'sequelize-typescript-migration-ht'","symbol":"makeMigration","correct":"import { SequelizeTypescriptMigration } from 'sequelize-typescript-migration-ht';\nSequelizeTypescriptMigration.makeMigration(sequelize, options)"}],"quickstart":{"code":"import { Sequelize } from 'sequelize-typescript';\nimport { join } from 'path';\nimport { SequelizeTypescriptMigration } from 'sequelize-typescript-migration-ht';\n\nconst sequelize = new Sequelize({\n  dialect: 'sqlite',\n  storage: './database.sqlite',\n  models: [__dirname + '/models']\n});\n\nSequelizeTypescriptMigration.makeMigration(sequelize, {\n  outDir: join(__dirname, './migrations'),\n  migrationName: 'initial-migration',\n  preview: false\n}).then(() => {\n  console.log('Migration generated');\n}).catch(err => console.error(err));","lang":"typescript","description":"Generates a migration file by comparing current model decorators to existing database schema. Run this after defining/updating models."},"warnings":[{"fix":"Use sequelize-typescript decorators (@Table, @Column, etc.) on your models.","message":"Package works only with sequelize-typescript decorator-based models, NOT raw sequelize define models.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Manually edit the down migration order or review generated migration files before running.","message":"Down (undo) migrations may fail due to incorrect ordering of foreign key dependencies.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Test thoroughly in development before using in production. Consider alternatives like sequelize-auto-migrations.","message":"Package is a fork of several community repositories; it may have unpatched bugs or missing features.","severity":"gotcha","affected_versions":"all"},{"fix":"Always provide a descriptive migrationName in options.","message":"Migration name is auto-generated as 'noname' if not provided in options.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.0':47 '1.4.5':18 '12':50 '2.0.0':43 'auto':28 'auto-gener':27 'automat':53 'base':56,61 'chang':25 'communiti':73 'compar':92 'compat':38 'decor':13,21,60 'decorator-bas':59 'detect':23,93 'develop':67 'diff':55,91 'diff-bas':54 'differenti':52 'django':35 'due':80 'file':32 'fork':70 'generat':7,29 'ht':1 'issu':84 'javascript':85 'key':51 'makemigr':37,90 'manual':64 'may':77 'migrat':3,6,31,57,65,76,88,89 'model':20,62 'multipl':72 'node':49 'order':83 'reduc':63 'relat':82 'repositori':74 'requir':48 'scan':19 'schema':24 'sequel':2,10,15,40,86 'sequelize-typescript':14 'similar':33 'sporad':69 'tool':4,8 'typescript':12,16,87 'unreli':79 'up/down':30 'use':42,46 'v4':45 'v6':41 'version':17 'write':66","created_at":"2026-06-07T16:55:10.930588+00:00","updated_at":"2026-06-07T16:55:10.930588+00:00","problems":[{"fix":"Use `new Sequelize({ models: [__dirname + '/models'] })` or explicitly add models via `sequelize.addModels([...])`.","cause":"Sequelize instance is not initialized with sequelize-typescript models, or models directory is incorrect.","error":"Error: No models found. Make sure your models are loaded using sequelize-typescript."},{"fix":"Use `SequelizeTypescriptMigration.makeMigration(sequelize, options)` directly, no instantiation needed.","cause":"Incorrect import: trying to use `new SequelizeTypescriptMigration()` instead of calling static method.","error":"SequelizeTypescriptMigration is not a constructor"}],"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/alin1124/sequelize-typescript-migration","github":"https://github.com/alin1124/sequelize-typescript-migration","docs":null,"changelog":null,"pypi":null,"npm":"ht-sequelize","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}}