andrewpietiladotcom/migrations/20250123043534_messageKeywords.js

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");
};