Есть ли чистый способ удалить старые таблицы, используя knex? - PullRequest
0 голосов
/ 01 апреля 2020

Я провел некоторый поиск и не уверен, что нашел четкий ответ.

Я работаю над приложением 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'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...