Exemplo n.º 1
0
 /**
  * Create MySQL databases, users and grant permissions.
  */
 public function createDatabases()
 {
     /** @var $dbs MysqlDatabase[] */
     $dbs = $this->_getRepository()->findAll();
     foreach ($dbs as $db) {
         $userModel = new MysqlUserModel();
         $userModel->setUsername($db->getName())->setPassword($this->_cryptservice->decrypt($db->getPassword()));
         $dbModel = new MysqlDatabaseModel();
         $dbModel->setName($db->getName())->setUsers(array($userModel));
         if ($this->_mysqladmin->checkUserExists($userModel)) {
             $this->_mysqladmin->setUserPassword($userModel);
         } else {
             $this->_mysqladmin->createUser($userModel);
         }
         if (!$this->_mysqladmin->checkDatabaseExists($dbModel)) {
             $this->_mysqladmin->createDatabase($dbModel);
             $this->_mysqladmin->grantPermissionsOnDatabase($dbModel);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Checks, if a specified database exists in MySQL.
  *
  * @param MysqlDatabaseModel $database
  *
  * @return bool
  */
 public function checkDatabaseExists(MysqlDatabaseModel $database)
 {
     $q = sprintf('show databases');
     $result = $this->_mysqli->query($q);
     while ($row = $result->fetch_assoc()) {
         if ($row['Database'] === $database->getName()) {
             return true;
         }
     }
     return false;
 }