交易遷移
public function safeUp()
{
$this->createTable('news', [
'id' => $this->primaryKey(),
'title' => $this->string()->notNull(),
'content' => $this->text(),
]);
$this->insert('news', [
'title' => 'test 1',
'content' => 'content 1',
]);
}
public function safeDown()
{
$this->delete('news', ['id' => 1]);
$this->dropTable('news');
}
實現事務性遷移的一種更簡單的方法是將遷移程式碼放在 safeUp()
和 safeDown()
方法中。這兩種方法與 up()
和 down()
的不同之處在於它們隱含在事務中。因此,如果這些方法中的任何操作失敗,則所有先前的操作將自動回滾。