Пример #1
0
 /**
  * Construct migration definition.
  *
  * @param MigratableDatabase $db The database to migrate.
  */
 public function __construct(MigratableDatabase $db)
 {
     $this->db = $db;
     $this->targetDefinition = $db->getDefinition();
     $db->refreshDefinition();
     $current = $db->getDefinition();
     foreach ($current->getTables() as $table) {
         $this->tables[] = $table;
         $this->definitions[$table] = $current->getDefinition($table);
     }
     $db->setDefinition($this);
 }
Пример #2
0
 /**
  * Alter a key.
  *
  * @param string $table
  *            Table name.
  * @param string $key
  *            Key name.
  * @param string[] $columns
  *            Columns.
  * @param bool $unique
  *            Uniqueness.
  */
 protected function alterKey($table, $key, array $columns, $unique = true)
 {
     try {
         $this->db->alterKey($table, $key, $columns, $unique);
         $this->definition->alterKey($table, $key, $columns, $unique);
     } catch (\Exception $e) {
         if (!$this->ignoreExceptions) {
             throw $e;
         }
     }
 }