const tableName = 'email_delivery_logs' function buildTable(t, knex) { t.string('id', 120).primary() t.string('provider', 48).nullable() t.string('message_id', 191).nullable().index() t.string('purpose', 64).notNullable().index() t.string('to_email', 320).notNullable().index() t.string('status', 24).notNullable().defaultTo('sent') t.integer('attempt_count').unsigned().notNullable().defaultTo(0) t.datetime('next_attempt_at', { precision: 3 }).nullable() t.text('template').nullable() t.text('error_message').nullable() t.text('metadata_json', 'longtext').nullable() t.datetime('created_at', { precision: 3 }).notNullable().defaultTo(knex.fn.now(3)) t.datetime('updated_at', { precision: 3 }).nullable() } module.exports = { tableName, buildTable }