24 lines
663 B
JavaScript
24 lines
663 B
JavaScript
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
exports.up = async function(knex) {
|
|
await knex.schema.createTable("keywords", (table) => {
|
|
table.increments("id", {primaryKey: true});
|
|
table.integer("messageState");
|
|
table.string("keyword");
|
|
});
|
|
|
|
const messages = await knex("messages").select().where("read", "=", true);
|
|
await Promise.all(messages.map(async (row) => {
|
|
await knex("keywords").insert({messageState: row.state, keyword: "$seen"});
|
|
}));
|
|
};
|
|
|
|
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
exports.down = function(knex) {
|
|
return knex.schema.dropTable("keywords");
|
|
};
|