Это явно не упоминается в документации (http://dev.mysql.com/doc/refman/6.0/en/drop-table.html). Я спрашиваю, потому что я только что увидел любопытную миграцию базы данных в проекте Rails, где разработчик удалял все индексы перед удалением таблицы, и это казалось ненужным.
Да, это так.
Однако, если у вас есть ограничения внешнего ключа, такие как RESTRICT, которые обеспечивают ссылочную целостность с другими таблицами, вы должны отбросить эти ключи перед удалением или усечением таблицы.
Да, индекс упал бы. Нет причин сохранять индекс, если основной таблицы там нет. Я подозреваю, что нисходящая миграция просто противоположна восходящей миграции на индивидуальной основе.
Это ненужно. Однако ваш DROP TABLE может быть предотвращен, когда таблица является частью отношений внешнего ключа, и удаление вашей таблицы нарушит зависимости.