28 lines
750 B
JavaScript
28 lines
750 B
JavaScript
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
exports.up = function(knex) {
|
|
return knex.schema
|
|
.createTable('craftingRecipes', (table) => {
|
|
table.increments('id');
|
|
table.string('table');
|
|
})
|
|
.createTable('craftingRecipeItems', (table) => {
|
|
table.integer('id').references('id').inTable('craftingRecipes').notNullable();
|
|
table.integer('item').notNullable();
|
|
table.integer('quantity').defaultTo(1);
|
|
table.enum('type', ['input', 'output', 'requirement']);
|
|
});
|
|
};
|
|
|
|
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
exports.down = function(knex) {
|
|
return knex.schema
|
|
.dropTable('craftingRecipes')
|
|
.dropTable('craftingRecipeItems');
|
|
};
|