Files

60 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2025-09-02 21:43:00 +10:00
import { migrate as logger } from "../logger.js";
const migrateName = "identifier_for_migrate";
2020-02-19 15:55:06 +11:00
/**
* Migrate
*
* @see http://knexjs.org/#Schema
*
2025-09-02 21:43:00 +10:00
* @param {Object} knex
2020-02-19 15:55:06 +11:00
* @returns {Promise}
*/
2025-09-02 21:43:00 +10:00
const up = (_knex) => {
logger.info(`[${migrateName}] Migrating Up...`);
2020-02-19 15:55:06 +11:00
// Create Table example:
2025-09-02 21:43:00 +10:00
/*
return knex.schema.createTable('notification', (table) => {
2020-02-19 15:55:06 +11:00
table.increments().primary();
table.string('name').notNull();
table.string('type').notNull();
table.integer('created_on').notNull();
table.integer('modified_on').notNull();
})
2025-09-02 21:43:00 +10:00
.then(function () {
logger.info('[' + migrateName + '] Notification Table created');
});
*/
2020-02-19 15:55:06 +11:00
2025-09-02 21:43:00 +10:00
logger.info(`[${migrateName}] Migrating Up Complete`);
2020-02-19 15:55:06 +11:00
return Promise.resolve(true);
};
/**
* Undo Migrate
*
2025-09-02 21:43:00 +10:00
* @param {Object} knex
2020-02-19 15:55:06 +11:00
* @returns {Promise}
*/
2025-09-02 21:43:00 +10:00
const down = (_knex) => {
logger.info(`[${migrateName}] Migrating Down...`);
2020-02-19 15:55:06 +11:00
// Drop table example:
2025-09-02 21:43:00 +10:00
/*
return knex.schema.dropTable('notification')
.then(() => {
logger.info(`[${migrateName}] Notification Table dropped`);
});
*/
2020-02-19 15:55:06 +11:00
2025-09-02 21:43:00 +10:00
logger.info(`[${migrateName}] Migrating Down Complete`);
2020-02-19 15:55:06 +11:00
return Promise.resolve(true);
};
2025-09-02 21:43:00 +10:00
export { up, down };