...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));
}
/* ... */
}
The documentation says to use the following code when deleting a table:
https://book.cakephp.org/phinx/0/en/migrations.html#dropping-a-table
But in my opinion it's better using:
...because if the table doesn't exists and when executing
Table::executeActions()
, the actions will containDropTable
and a dynamically addedCreateTable
action. That makes no sense.This is due to the following code:
https://github.com/cakephp/phinx/blob/b2eef811863e6c4e96bac0136263f502424a170f/src/Phinx/Db/Table.php#L716
So am I using the
save
andupdate
methods in a wrong way and then the documentation needs to be changed or is it a bug?