This is a migration library to migrate Ampt data in an organized way using ampt run
.
# NPM
npm i ampt-migrate --dev
# Yarn
yarn add ampt-migrate --save-dev
We recommend adding the following script to your package.json
:
{
...,
"scripts": {
...,
"migrate": "ampt run node_modules/ampt-migrate"
}
}
This will allow you to run the scripts more naturally with yarn migrate
and yarn migrate down
, etc...
All of your migrations will go in the /migrations
directory at the root of your project. Migrations should begin some sort of value indicating the date and time of the migration. This will help to ensure that the migrations are run in order.
We recommend generating your migration files with our generate
command. This will ensure that your migrations are run in order and that you have given it a proper name.
yarn migrate generate the-name-of-my-migration
This command will generate a file that exports a class with an up()
and down()
method. It is best practice to use both methods so you can roll back changes if there is an issue. The generator will create a file similar to this:
import { data } from "@ampt/data";
export default class TheNameOfMyMigration {
async up() {}
async down() {}
}
It will live in the /migrations
directory with a filename like 1744948295184-the-name-of-my-migration.ts
.
To run all of the migrations, run:
yarn migrate
Note that if you want to target a specific Ampt environment, you can do so like this:
yarn migrate --env production
By default it will run on your developer box.
To migrate up a single step, run:
yarn migrate up
To migrate down a single step, run:
yarn migrate down
This is an independently maintained repo from your friends at Vestaboard. It is not owned or operated by Ampt in any way.