Gina is a tool to auto-generate and run migrations based on Sequelize ORM.
You can install this using:
npm install gina-sequelizeYou'll need to install it globally so you can you the gina-cli
npm install -g gina-sequelize
# make sure to install ts-node too:
npm install -g ts-nodeIf this is the first time you are running Gina on your project you'll need to initialize it.
gina-cli initThis will generate a folder gina to your project.
Inside this folder you will find the file initializeModels.ts.
You will need to modify this file so that the initializeModels method inside it return a valid sequelize instance object that has all your models ALREADY loaded.
Once you have the initializeModels configured you can upgrade your database using:
gina-cli upgradeOnce you have the initializeModels configured you can generate auto migrations.
It'll compare your loaded models with the database that you are connected.
All differences should be listed on a new migration file that will be placed inside the folder gina/migrations.
gina-cli generate-migration "Creating user table"If you want to edit the cli and test it you can install it locally:
npm install -g .