Open
Description
The documentation says to use the following code when deleting a table:
$this->table('table')->drop()->save();
https://book.cakephp.org/phinx/0/en/migrations.html#dropping-a-table
But in my opinion it's better using:
$this->table('table')->drop()->update();
...because if the table doesn't exists and when executing Table::executeActions()
, the actions will contain DropTable
and a dynamically added CreateTable
action. That makes no sense.
This is due to the following code:
/**
* Executes all the pending actions for this table
*
* @param bool $exists Whether or not the table existed prior to executing this method
* @return void
*/
protected function executeActions(bool $exists): void
{
/* ... */
// If the table does not exist, the last command in the chain needs to be
// a CreateTable action.
if (! $exists) {
$this->actions->addAction(new CreateTable($this->table));
}
/* ... */
}
Line 716 in b2eef81
So am I using the save
and update
methods in a wrong way and then the documentation needs to be changed or is it a bug?
Metadata
Metadata
Assignees
Labels
No labels