Ho trovato utile il set di istruzioni di rilascio generato e consiglio queste modifiche:
- Limita le gocce generate al tuo database in questo modo:
SELECT concat('DROP TABLE IF EXISTS `', table_name, '`;')
FROM information_schema.tables
WHERE table_schema = 'MyDatabaseName';
Nota 1:questo non esegue le istruzioni DROP, ti fornisce solo un elenco di esse. Dovrai tagliare e incollare l'output nel tuo motore SQL per eseguirli.
Nota 2:se hai VIEW, dovrai correggere ogni DROP TABLE `VIEW_NAME`
istruzione a DROP VIEW `VIEW_NAME`
manualmente.
- Nota, per http://dev.mysql .com/doc/refman/5.5/en/drop-table.html , cadere a cascata è inutile / fuorviante:
Pertanto, affinché le istruzioni drop funzionino se hai bisogno di:
SET FOREIGN_KEY_CHECKS = 0
Ciò disabiliterà i controlli di integrità referenziale, quindi quando avrai finito di eseguire i drop di cui hai bisogno, vorrai reimpostare il controllo della chiave con
SET FOREIGN_KEY_CHECKS = 1
- L'esecuzione finale dovrebbe essere simile a:
SET FOREIGN_KEY_CHECKS = 0;
-- Your semicolon separated list of DROP statements here
SET FOREIGN_KEY_CHECKS = 1;
NB:per utilizzare l'output di SELECT più facilmente, l'opzione mysql -B può aiutare.