Hey cool, über den Tipp mit dem DUMP bin ich ja auf FOREIGN_KEY_CHECKS gestoßen und dieses scheint super zu funktionieren.
In meinem Fall sieht es nun etwa so aus, damit auch möglichst sichergestellt ist, daß es nachher auch wieder aktiviert wird.
SQL-Code:
echo "
<h3><u>disable foreign key checking</u></h3>\r\n";
Main::$
Database->
Query('
SET FOREIGN_KEY_CHECKS = 0');
Main::$
Database->ResultCheck();
try {
echo "
<h3><u>remove all existing old database tables</u></h3>\r\n";
Main::$
Database->
Query('
DROP TABLE ' . implode('
, ', $Tables));
Main::$
Database->ResultCheck();
} catch (
Exception $E) {
Main::$
Database->
Query('
SET FOREIGN_KEY_CHECKS = 1');
throw $E;
}
echo "
<h3><u>enable foreign key checking</u></h3>\r\n";
Main::$
Database->
Query('
SET FOREIGN_KEY_CHECKS = 1');
Main::$
Database->ResultCheck();