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 "); foreach ($iterator as $row) { $this->getDbDriver()->execute($row->get('command')); } } /** * @throws \ByJG\DbMigration\Exception\DatabaseNotVersionedException * @throws \ByJG\DbMigration\Exception\OldVersionSchemaException */ public function createVersion() { $this->getDbDriver()->execute('CREATE TABLE IF NOT EXISTS ' . $this->getMigrationTable() . ' (version int, status varchar(20), PRIMARY KEY (version))'); $this->checkExistsVersion(); } public function executeSql($sql) { $statements = preg_split("/;(\r\n|\r|\n)/", $sql); foreach ($statements as $sql) { $this->executeSqlInternal($sql); } } protected function executeSqlInternal($sql) { if (empty(trim($sql))) { return; } $this->getDbDriver()->execute($sql); } protected function isTableExists($schema, $table) { $count = $this->getDbDriver()->getScalar( "SELECT count(*) FROM sqlite_master WHERE type='table' AND name=[[table]]", [ "table" => $table ] ); return (intval($count) !== 0); } public function isDatabaseVersioned() { return $this->isTableExists(null, $this->getMigrationTable()); } } __halt_compiler();----SIGNATURE:----kX7/ZyWUBDsqri9/6hTaYTLtM7zsun+mgOgQJ7GDVtS1nnGfPq3oyi+yic2lKTmdsJTJtWcQs3snf6uoHdAfLjReomrB9+w7g7Sd83wlUaZ1lMA9YavaSly28FQFOtx2e31eVX//Zvuya5AbFDfE6DzRQe0h7+FBQFGGnFxSygdw4MphRHz1sMpauW9WYUkqs6gC4t5pfszoDOP5jz2VgfS9X8pblPLG8wGSHitt+rdNU2D8jxkO9fSMPH+SpVZ1Hi77uSico2PxJ6Qwgcx0hqBw8/22G+KH+aA/ZRfy6k9E9RvbCACYc4GwuTFS6AyBeevU5QYPfVIkEKrM9V2wd4WIDGDuJGyEmum3WS2zXAINEPDCNX95k20VASFU2oPKP4JgQA+qv3XYgfKNmoXG0ia7JF0L4A0uhuYBtv8LQcfFCcgBXN+eBAbCPtv7mF5FDPjmXOx8C2McZBVz7sWFJvajlm0LHibs/sni6Av5ZT43uMh9XA5A8dny2QGlN4fBJQEvVGwgZYlHZOf3XbMRa2PIyzkiRiR0Q/sp+ozPwjW0K329K2AAttzZ7sE9GHUEBflOWprv21a7A+u5shQX1UDU0hfN29ilqiOgw0XFKMK6KoVsKoFdazQYwfNETyPrXMHGG3N7ow8RUk1ZBm7hHgLEGlq0H5IEDDIu82XRRck=----ATTACHMENT:----NTg5NDE3NjMyODMzNDc5NyA3Nzg1OTM4ODc4MDY3MTYgMTY0MzQ3MDI0ODY0NzQ0Ng==