/** * @param { import("knex").Knex } knex * @returns { Promise } */ const up = (knex) => { return knex.schema .createTable('maps', (table) => { table.increments().primary() table.string('name').notNullable().unique() table.timestamp('created_at').defaultTo(knex.fn.now()) table.timestamp('updated_at').defaultTo(knex.fn.now()) }) .createTable('map_points', (table) => { table.increments().primary() table.string('name') table.string('notes') table.point('location') table.timestamp('created_at').defaultTo(knex.fn.now()) table.timestamp('updated_at').defaultTo(knex.fn.now()) table.integer('map_id').references('id').inTable('maps') }) } /** * @param { import("knex").Knex } knex * @returns { Promise } */ const down = (knex) => { return knex.schema .raw('DROP TABLE maps CASCADE') .dropTable('map_points') } export { up, down }