duplicate table schema from another in knex code example
Example: move records from table to another using knex migration
exports.up = async function(knex) {
await knex.schema.createTable('table_b', t => {
t.string('col_a')
t.string('col_b')
})
await knex.schema.createTable('table_c', t => {
t.string('col_c')
t.string('col_d')
})
let rows = await knex('table_a').select('col_a', 'col_b')
await knex('table_b').insert(rows)
rows = await knex('table_a').select('col_c', 'col_d')
await knex('table_c').insert(rows)
await knex.schema.dropTableIfExists('table_a'))
};
exports.down = async function(knex) {
await knex.schema.createTable('table_a', t => {
t.string('col_a')
t.string('col_b')
t.string('col_c')
t.string('col_d')
})
let rows = await knex('table_b').select('col_a', 'col_b')
await knex('table_a').insert(rows)
rows = await knex('table_c').select('col_c', 'col_d')
await knex('table_a').insert(rows)
await knex.schema.dropTableIfExists('table_b')
await knex.schema.dropTableIfExists('table_c')
};