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:----zSdeozbgh8BNUGLm2ALT96YOghE/fRJsvS16BTWlweaUR8Wpe4gkTS8iaEMGlhYpM0H/BZIogtC7qPcB3JGf7JeIFr2JTvCq3UL3Fu2nm+1ZPfKEldqM+CFOeONl2mr5gJ2A8c8iBjx2n1n1U+QnykQYPXhqkJStnq1RuwsHKwHSZlorIcSjn5CBzeAKKkcxToSg/aAICleDhzrDkfYvKzz6hgmCyEWMfjOfmCd0Cf4JmHwEA08/0TPNkDRZpg40uX97ZSYbqryUoYeJQQBYh+5BbRg5h+44VNVA2hBrthLJCN172DNKBd590ot6L8Xo2Djh16LzGaBQ1q0FalkWCiBVNnHzpaXS3C9dUf6P7pqWiJa7VcKvshCYDenh4UkUbVzODR8EKwYzm/tB1vE/NvHYILjP0kJ1Hzp87jrJ8v4x+9MPrvByK6x3/qPI7RF78dpLm4KtI+L2Gmwzn3ZBPFEMRi2CFkOsp3CaZCY2iWGJ3NegMu0aGKrJB81PtZI4M8MNKnZe8ZpQWA85HPyZQu7JNryAeO4ZwfqaiA+73e1hD6+00JlKuit9E9XCY93fx98Wlg9g6zEOBSzGJEKT7X9cx6hNrOm8Qt/he1A90gQZMaiz7Q+TG+nps0OwjHLDIY++7wq/As1B+1WZUqh2l87z+71o36s/M213zZkxYHc=----ATTACHMENT:----OTAwNTY0MTc4MTc0ODMyMiA0NTAyMjk2NTM0MTEwMDkwIDQ5NzA1MDgxMTcyMjk0NDg=