Удалить таблицу из схемы, не удаляя его из базы данных?

Обновить

November 2018

Просмотры

401 раз

2

Я недавно начал использование существующей базы данных с моим проектом Rails, но я понял, что все таблицы из этой базы данных были объединены более.

Я до сих пор нужны некоторые из этих таблиц, просто не для этого проекта.

Боюсь удалить их с миграцией удалят их из моих реальной базы данных. Могу ли я просто удалить их вручную из schema.rb?

2 ответы

3

db/schema.rbпоходит на план вашей полной базы данных. Так, нет, его невозможно иметь таблицы в базе данных и не показывать их , db/schema.rbкак он будет выбрать полную схему базы данных. Даже если вы идете и вручную добавить новую таблицу (т.е. без миграции) в базе данных, она по- прежнему будет отражена вdb/schema.rb

В соответствии с направляющими рельсами,

Обратите внимание , что для запуска БД: мигрировать задачи также вызывает дб: задание дампа, который будет обновлять ваш дб / файл schema.rb в: схема соответствия структуры базы данных .

Другая справка из направляющих рельсов подытоживает

Миграции, могучие , как они могут быть, не являются авторитетным источником для схемы базы данных. Эта роль падает либо дб / schema.rb или файл SQL , который генерирует Active Record, исследуя базу данных . Они не предназначены для редактирования, они просто представляют текущее состояние базы данных .

-2

Создайте пустой файл миграции и отредактировать его, чтобы использовать таблицу падения:

drop_table :table_name