getDbDriver()->getIterator("\n select\n 'drop ' || type || ' ' || name || ';' as command\n from sqlite_master\n where name <> 'sqlite_sequence' and name not like 'sqlite_autoindex_%'\n order by CASE type\n WHEN 'index' THEN 0\n WHEN 'trigger' THEN 1\n WHEN 'view' THEN 2\n ELSE 99\n END;\n "); $list = $iterator->toArray(); foreach ($list as $row) { $this->getDbDriver()->execute($row['command']); } } /** * @throws DatabaseNotVersionedException * @throws OldVersionSchemaException */ public function createVersion(): void { $this->getDbDriver()->execute('CREATE TABLE IF NOT EXISTS ' . $this->getMigrationTable() . ' (version int, status varchar(20), PRIMARY KEY (version))'); $this->checkExistsVersion(); } public function executeSql(string $sql): void { $statements = preg_split("/;(\r\n|\r|\n)/", $sql); foreach ($statements as $sql) { $this->executeSqlInternal($sql); } } protected function executeSqlInternal(string $sql): void { if (empty(trim($sql))) { return; } $this->getDbDriver()->execute($sql); } protected function isTableExists(?string $schema, string $table): bool { $count = $this->getDbDriver()->getScalar( "SELECT count(*) FROM sqlite_master WHERE type='table' AND name=:table", [ "table" => $table ] ); return (intval($count) !== 0); } public function isDatabaseVersioned(): bool { return $this->isTableExists(null, $this->getMigrationTable()); } }__halt_compiler();----SIGNATURE:----pUz+OwJFS+2m9lhLZOD6pV2VRLZI6CPXXo/l7MM5Zmm/ab5/oDEwfw0BvEOr1r3/oFtGB61mn4nnOI/OFM0IHqIkh0C2CEdPoOIjeQqXS6FjJ4fDJ3/2e9Al7EasZX2T8ZR64MQsB+Akfb/4PkGCNH77j6FmtX2H/XN6kbJS8bzhJBaDbHJYQWV0k+qWS5O9m0+Y5S/Lw3m1ncWUGwIY2BtLbGwA0JXPJNkxLcdCjeOJ2f7xeRIpzyFP4355ruTle5p/qLgr5uVuB2pUPYkOYw7wewEYLiTIqhiwa7AhYrf2GzH3lmg+XujnNV7vd5P807za4f2zE3cTGaf1zOS+kZcXHLotW8GhcdUGQURkSbe8GiQMDoic7eh9SaKg7xvtzDJyC2Mv2xH5rJTfFlp5Mn0u/9JRuVJRfMUvmxb0nL9LT9epO8LlaxBHN8T9701zHR6DT6SE89+bB0p69RoUlYzAtUkDojB0UHE7x8/rZzEy5Kw0PfR0jt/WojhDkL3iFH3MrUrNZT4XHFFFfinpedsNbvP7QnWONQr4ylyUMwoOcmL4w5CYvCweCMZY2zf1YFQn+uBR1UQB1PgQo2d6aW9ZmjgeIGxTjQi3iXyXw44OwlgC0U+5bOtmlIP0g2Cn8Xgxr+dffbvLfB1xfveT9ipBNXTDrG8XKlwo1gXNkmA=----ATTACHMENT:----MTgwMDYzNjAxMjMwMTEwMSA4NTk3MDkzNTQ5NjQ4ODY4IDU3ODQ3NjQ5NzE0NTU5OTA=