packages/server/db/migrate/20200403110256_create_players.ts
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
}