bastienrobert/la-ferme

View on GitHub
packages/server/db/migrate/20200403110256_create_players.ts

Summary

Maintainability
A
35 mins
Test Coverage
import Knex from 'knex'

export async function up(knex: Knex): Promise<any> {
  await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"')

  await knex.schema.createTable('players', table => {
    table.increments('id').primary()
    table.uuid('uuid').defaultTo(knex.raw('uuid_generate_v4()'))
    table.integer('game_id').references('games.id').onDelete('cascade')
    table.integer('user_id').references('users.id').onDelete('cascade')
    table.string('character')
    table.string('goal')
    table.boolean('ready').defaultTo(false)
    table.boolean('surrender').defaultTo(false)

    table.timestamps(true, true)
  })

  await knex.schema.table('games', table => {
    table.integer('winner_player_id').references('players.id').onDelete('cascade') // prettier-ignore
  })

  return
}

export async function down(knex: Knex): Promise<any> {
  await knex.schema.dropTable('players')

  return
}