vk_guilds.cjs 1002 Bytes
const tableName = 'vk_guilds'

function buildTable(t) {
  t.string('id', 64).primary()
  t.string('name', 120).notNullable()
  t.string('slug', 64).notNullable()
  t.string('lead_user_id', 64).notNullable()
  t.string('company_agent_id', 64).nullable()
  t.boolean('require_lead_approval').notNullable()
  t.integer('checkpoint_interval_sec').unsigned().notNullable().defaultTo(21600)
  t.integer('piece_review_window_sec').unsigned().notNullable().defaultTo(86400)
  t.integer('contest_review_window_sec').unsigned().notNullable().defaultTo(259200)
  t.integer('transfer_ttl_sec').unsigned().notNullable().defaultTo(86400)
  t.datetime('created_at', { precision: 3 }).notNullable()
  t.datetime('updated_at', { precision: 3 }).nullable()
  t.unique(['slug'], { indexName: 'uq_vk_guilds_slug' })
  t.check('checkpoint_interval_sec > 0 and piece_review_window_sec > 0 and contest_review_window_sec > 0 and transfer_ttl_sec > 0', [], 'ck_vk_guilds_windows')
}

module.exports = { tableName, buildTable }