Exemple #1
0
 /**
  * Create Table method
  *
  * @param string $type Type of operation to be done, in this case 'create_table'
  * @param array $tables List of tables to be created
  * @return boolean Return true in case of success, otherwise false
  * @access protected
  */
 public function _createTable($type, $tables)
 {
     foreach ($tables as $table => $fields) {
         $this->Schema->tables = array($table => $fields);
         $this->__invokeCallbacks('beforeAction', 'create_table', array('table' => $table));
         $this->db->execute($this->db->createSchema($this->Schema));
         $this->__invokeCallbacks('afterAction', 'create_table', array('table' => $table));
     }
     return true;
 }
 /**
  * Create Table method
  *
  * @param string $type Type of operation to be done, in this case 'create_table'
  * @param array $tables List of tables to be created
  * @return boolean Return true in case of success, otherwise false
  * @access protected
  */
 protected function _createTable($type, $tables)
 {
     foreach ($tables as $table => $fields) {
         if (in_array($table, $this->db->listSources())) {
             throw new MigrationException($this, sprintf(__d('migrations', 'Table "%s" already exists in database.', true), $table));
         }
         $this->Schema->tables = array($table => $fields);
         $this->_invokeCallbacks('beforeAction', 'create_table', array('table' => $table));
         if (@$this->db->execute($this->db->createSchema($this->Schema)) === false) {
             throw new MigrationException($this, sprintf(__d('migrations', 'SQL Error: %s', true), $this->db->error));
         }
         $this->_invokeCallbacks('afterAction', 'create_table', array('table' => $table));
     }
     return true;
 }
Exemple #3
0
 /**
  * Create Table method
  *
  * @param string $type Type of operation to be done, in this case 'create_table'
  * @param array $tables List of tables to be created
  * @return boolean Return true in case of success, otherwise false
  */
 protected function _createTable($type, $tables)
 {
     foreach ($tables as $table => $fields) {
         if (in_array($this->db->fullTableName($table, false, false), $this->db->listSources())) {
             throw new MigrationException($this, __d('migrations', 'Table "%s" already exists in database.', $this->db->fullTableName($table, false, false)));
         }
         $this->Schema->tables = array($table => $fields);
         $this->_invokeCallbacks('beforeAction', 'create_table', array('table' => $table));
         try {
             $this->db->execute($this->db->createSchema($this->Schema));
         } catch (Exception $exception) {
             throw new MigrationException($this, __d('migrations', 'SQL Error: %s', $exception->getMessage()));
         }
         $this->_invokeCallbacks('afterAction', 'create_table', array('table' => $table));
     }
     return true;
 }