Я провел некоторый поиск и не уверен, что нашел четкий ответ.
Я работаю над приложением React, которое использует postgres и knex.
У нас есть несколько старых таблиц, которые необходимо переименовать, и некоторые столбцы, которые необходимо настроить, по сути, я Я думаю, что мы пытаемся просто избавиться от этой таблицы и создать одну sh.
Я не совсем уверен, что лучший подход для чего-то подобного - без удаления файла миграции для старой таблицы, но вот мои мысли.
Я думаю, что я должен создать новую миграцию файл, который на вверх, должен удалить старую таблицу и создать новую таблицу. И далее, сделайте наоборот, создайте старую таблицу и сбейте новую таблицу. Я даже не уверен, имеет ли это смысл.
Вот что я пытаюсь сделать до сих пор: table_A - это старая таблица, от которой я пытаюсь избавиться, а table_B - новая таблица:
export const up = knex =>
knex.schema
.createTable('table_B', table => {
table.increments('id').primary();
table.string('created_by');
table.timestamps(true, true);
table.string('updated_by');
table.timestamp('start_date').notNullable();
table.timestamp('end_date');
})
.then(knex.schema.dropTable('table_A'));
export const down = knex =>
knex.schema
.createTable('table_B', table => {
table.increments('id').primary();
table.integer('program_id');
table.string('created_by');
table.timestamps(true, true);
table.string('updated_by');
table.timestamp('start_date').notNullable();
table.timestamp('end_date');
})
.then(knex.schema.dropTable('table_B'));