Files
directus/docs/extensions/migrations.md
Ben Haynes 1b87e4555f Docs structure (#9071)
* WIP

* updates

* docs updates

* structure

* big structure update

* docs module icon change

* in-app docs nav

* more content and structure changes

* Remove redundant

* Fix docs build in app

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-10-25 21:19:23 -04:00

46 lines
979 B
Markdown

# Custom Migrations
> Directus allows adding custom migration files that run whenever the `directus database migrate:*` commands are
> executed. All migrations must reside in the `extensions/migrations` folder.
## File Name
The file name follows the following structure:
```
[identifier]-[name].js
```
for example:
```
20201202A-my-custom-migration.js
```
## Structure
Migrations have to export an `up` and a `down` function. These functions get a [Knex](http://knexjs.org) instance that
can be used to do virtually whatever.
```js
module.exports = {
async up(knex) {
await knex.schema.createTable('test', (table) => {
table.increments();
table.string('rijk');
});
},
async down(knex) {
await knex.schema.dropTable('test');
},
};
```
::: danger Danger
Seeing that these migrations are a bit of a free-for-all, you can really harm your database. Please make sure you know
what you're doing and backup your database before adding these migrations.
:::