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:----Pcwo4W7f3WhDw4dSWABKdfmtdNXs9su8arWPeAQjVqdCOHCs3647AbtdjcIA4SvNXIGfulWY/pyYu/MsoJGJvIOBKVHB3juHYA/vF5sGUxjoHVNM0GhmM7RM133yZOuGY+qgyeN2ccYwOf5kA0GlwnB2St0CRBCrNija96B1d/X97GLc8is72jOistryCIphp984LRiJfd7gnfgbSz2rp8YiC/DN+8xMTsqZYNP9o1AHQj8C/JFYdSWkn0Wkp4isQeJBregp3B7u6dR1d2qbCaY2ina3slWZa3y/6UtopSZCIjLvrLHhim5JHd4N1lkNmg7WQdt5M28bJZmHoPv2+n3Q1+1YPcEX77nr/kXBWeiO6iIj4Qvuiqd4tdl4vIk8dkpG7kBZh7ZDeK4GyhdLEggvkEI3wxTNv/eoeKbaw1ytKq1+XpRUkHjgFq5utGmrc8hSDCaM6EIGluH2Lit6EcQyyMi43U6Hc8HpBw9Owwyhzr1MEWwPTZBD4gpOcAjaHMGpn+qOJT2OXxhtOg4RcPHO8NoAYCGcYH8ppZSeIhlqXmut5meJrjaxTuLHCtU8+oKjeLdJ/NgAxZ1LedRfU1QJZJJiSWDFnVVVAhzFWDNJvdMDAO9bJ3ogYTg652JEGlXfZ0950wyd6GNT4jpZV1Xp9nLi2i+XzURqWuVsrS0=----ATTACHMENT:----MzQ0NTI1NzgxODY4NTc4NCA3OTY2MTQ2NDc5NzU4ODggODMxNDUxNjEwODkzNzAxOA==