35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
exports.up = function(knex) {
|
|
return knex.schema
|
|
.createTable('customItems', table => {
|
|
table.increments('id');
|
|
table.string('guild').notNullable();
|
|
table.string('name').notNullable();
|
|
table.text('description');
|
|
table.string('emoji').notNullable();
|
|
table.enum('type', ['plain', 'weapon', 'consumable']).notNullable();
|
|
table.integer('maxStack').notNullable(); // or damage for weapons
|
|
table.string('behavior');
|
|
table.boolean('untradable').defaultTo(false);
|
|
table.float('behaviorValue');
|
|
})
|
|
.createTable('itemInventories', table => {
|
|
table.string('user').notNullable();
|
|
table.integer('item').notNullable();
|
|
table.integer('quantity').defaultTo(1);
|
|
});
|
|
};
|
|
|
|
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
exports.down = function(knex) {
|
|
return knex.schema
|
|
.dropTable('customItems')
|
|
.dropTable('itemInventories');
|
|
};
|