import BaseSchema from '@ioc:Adonis/Lucid/Schema'

export default class extends BaseSchema {
  protected tableName = 'key_values'

  public async up () {
    this.schema.createTable(this.tableName, (table) => {
      table.increments('id_key').primary()
      table.string("key", 100).notNullable()
      table.string("value", 200).notNullable()
      table.string("model", 30).notNullable().defaultTo("All")
      /**
       * Uses timestamptz for PostgreSQL and DATETIME2 for MSSQL
       */
      table.timestamp('created_at', { useTz: true })
      table.timestamp('updated_at', { useTz: true })
    })
  }

  public async down () {
    this.schema.dropTable(this.tableName)
  }
}
