email_delivery_logs.cjs 779 Bytes
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 }