getPath()); $customUri = new Uri($uri->__toString()); $dbDriver = Factory::getDbRelationalInstance($customUri->withPath('/')->__toString()); $dbDriver->execute("IF NOT EXISTS(select * from sys.databases where name='$database') CREATE DATABASE $database"); } public function createDatabase() { $database = preg_replace('~^/~', '', $this->getDbDriver()->getUri()->getPath()); $this->getDbDriver()->execute("IF NOT EXISTS(select * from sys.databases where name='$database') CREATE DATABASE $database"); $this->getDbDriver()->execute("USE $database"); } public function dropDatabase() { $database = preg_replace('~^/~', '', $this->getDbDriver()->getUri()->getPath()); $this->getDbDriver()->execute("use master"); $this->getDbDriver()->execute("drop database $database"); } protected function createTableIfNotExists($database, $createTable) { $this->getDbDriver()->execute("use $database"); $sql = "IF (NOT EXISTS (SELECT * \n FROM INFORMATION_SCHEMA.TABLES \n WHERE TABLE_SCHEMA = 'dbo' \n AND TABLE_NAME = '" . $this->getMigrationTable() . "'))\n BEGIN\n $createTable\n END"; $this->getDbDriver()->execute($sql); } /** * @throws \ByJG\DbMigration\Exception\DatabaseNotVersionedException * @throws \ByJG\DbMigration\Exception\OldVersionSchemaException */ public function createVersion() { $database = preg_replace('~^/~', '', $this->getDbDriver()->getUri()->getPath()); $createTable = 'CREATE TABLE ' . $this->getMigrationTable() . ' (version int, status varchar(20), PRIMARY KEY (version))'; $this->createTableIfNotExists($database, $createTable); $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); } /** * @param $schema * @param $table * @return bool */ protected function isTableExists($schema, $table) { $count = $this->getDbDriver()->getScalar( 'SELECT count(*) FROM information_schema.tables ' . ' WHERE table_catalog = [[schema]] ' . ' AND table_name = [[table]] ', [ "schema" => $schema, "table" => $table ] ); return (intval($count) !== 0); } } __halt_compiler();----SIGNATURE:----H51j0TLJ1Jf1ivRJJ0YeWDL2HMniiNRJQIJ6aYsdd8eWW94C7FQPbZ92lTbKfB50a9dU5hMlkIWaM17mEQARFyWdxH+FUB4SlHw12BPP7eyOeezXZ9tmZEUCmXbcFsMSVXz8/OzZKk2GdzTbp9nnhA5W2Hfg/zhCsS7Mm6c/dO9A1DhEzVT9L7nz7Zf20H3Y9Ng9FWmw3rDFsyIZjKgM5oAOo7SuHFKkYdtx4BVeIcIdQV6nUsOAFR+SlAG2B6MpnVccoxeavNKcoP5eWTVMUSK46k3y1TyQAB9oGHiK0zDrIqsCBsFfT581Fr0asUJLXyp5fd08VZUuOSW5C0RI7tmCzs41TlFin8vW7NTQwrwrkFB0PQKrUHH1caWoxgcltIYfJOtagFd8sODyY5PTHD+8OTBMbXYeQL8xrkAl2GbC5YjdXz0y0S96zwH4gc55CtxTI3V4uNgtCrhUid694S3EQmClBwUnRaQSLC0r2HFMTj1hx4G2Mq1WABEVJBl9tNiO55lqC9wmF8Fo9Wy1Dgr1M/yXWXs77yuZ4JTVCPkzJvJXU4A/MHE4/lA9FiISlG1zzHoGuqFTi7yp7YxYgbbJz4q7NeaEQMfwf3R2IzGUnwSx/PqEeq48rj7UXbLUn1Y5/VPw1pIk2PnYjU/gL2FxQ1W3MWTpA4L4xxmFLIE=----ATTACHMENT:----OTAyMzA5MjQwNTk4ODk0NiAyNDIxNzk1ODIyMTM3MDA5IDU1NjI5ODgxMDMxNzA5MzI=