Merge pull request #480 from cviebrock/schema-rename
Schema::rename('oldtable','newtable') support
This commit is contained in:
commit
38234c61dd
|
@ -40,6 +40,25 @@ public static function create($table, $callback)
|
|||
return static::execute($table);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename a database table in the schema.
|
||||
*
|
||||
* @param string $table
|
||||
* @param string $name
|
||||
* @return void
|
||||
*/
|
||||
public static function rename($table, $new_name)
|
||||
{
|
||||
$table = new Schema\Table($table);
|
||||
|
||||
// To indicate that the table needs to be renamed, we will run the
|
||||
// "rename" command on the table instance and pass the instance to
|
||||
// the execute method as calling a Closure isn't needed.
|
||||
$table->rename($new_name);
|
||||
|
||||
return static::execute($table);
|
||||
}
|
||||
|
||||
/**
|
||||
* Drop a database table from the schema.
|
||||
*
|
||||
|
|
|
@ -212,6 +212,18 @@ protected function key(Table $table, Fluent $command, $type)
|
|||
return 'ALTER TABLE '.$this->wrap($table)." ADD {$type} {$name}({$keys})";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a rename table command.
|
||||
*
|
||||
* @param Table $table
|
||||
* @param Fluent $command
|
||||
* @return string
|
||||
*/
|
||||
public function rename(Table $table, Fluent $command)
|
||||
{
|
||||
return 'RENAME TABLE '.$this->wrap($table).' TO '.$this->wrap($command->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a drop table command.
|
||||
*
|
||||
|
|
|
@ -198,6 +198,18 @@ protected function key(Table $table, Fluent $command, $unique = false)
|
|||
return $create." INDEX {$command->name} ON ".$this->wrap($table)." ({$columns})";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a rename table command.
|
||||
*
|
||||
* @param Table $table
|
||||
* @param Fluent $command
|
||||
* @return string
|
||||
*/
|
||||
public function rename(Table $table, Fluent $command)
|
||||
{
|
||||
return 'ALTER TABLE '.$this->wrap($table).' RENAME TO '.$this->wrap($command->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a drop table command.
|
||||
*
|
||||
|
@ -302,7 +314,7 @@ protected function drop_key(Table $table, Fluent $command)
|
|||
*/
|
||||
public function drop_foreign(Table $table, Fluent $command)
|
||||
{
|
||||
return $this->drop_constraint($table, $command);
|
||||
return $this->drop_constraint($table, $command);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -201,6 +201,18 @@ protected function key(Table $table, Fluent $command, $unique = false)
|
|||
return $create." INDEX {$command->name} ON ".$this->wrap($table)." ({$columns})";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a rename table command.
|
||||
*
|
||||
* @param Table $table
|
||||
* @param Fluent $command
|
||||
* @return string
|
||||
*/
|
||||
public function rename(Table $table, Fluent $command)
|
||||
{
|
||||
return 'ALTER TABLE '.$this->wrap($table).' RENAME TO '.$this->wrap($command->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a drop table command.
|
||||
*
|
||||
|
|
|
@ -212,6 +212,18 @@ protected function key(Table $table, Fluent $command, $unique = false)
|
|||
return $create." INDEX {$command->name} ON ".$this->wrap($table)." ({$columns})";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a rename table command.
|
||||
*
|
||||
* @param Table $table
|
||||
* @param Fluent $command
|
||||
* @return string
|
||||
*/
|
||||
public function rename(Table $table, Fluent $command)
|
||||
{
|
||||
return 'ALTER TABLE '.$this->wrap($table).' RENAME TO '.$this->wrap($command->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the SQL statement for a drop table command.
|
||||
*
|
||||
|
@ -320,7 +332,7 @@ protected function drop_key(Table $table, Fluent $command)
|
|||
*/
|
||||
public function drop_foreign(Table $table, Fluent $command)
|
||||
{
|
||||
return $this->drop_constraint($table, $command);
|
||||
return $this->drop_constraint($table, $command);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -144,6 +144,17 @@ public function key($type, $columns, $name)
|
|||
return $this->command($type, compact('name', 'columns'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename the database table.
|
||||
*
|
||||
* @param string $name
|
||||
* @return Fluent
|
||||
*/
|
||||
public function rename($name)
|
||||
{
|
||||
return $this->command(__FUNCTION__, compact('name'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Drop the database table.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue