在CakePHP中進行數據庫遷移主要涉及到以下幾個步驟:
確保已經安裝了CakePHP框架并正確配置了數據庫連接信息。
在src/Template/App/Config/database.php
文件中,確保已經定義了所有需要的數據表和字段。例如:
'connections' => [
'default' => [
// ...
'fields' => [
'id' => ['type' => 'integer'],
'name' => ['type' => 'string', 'length' => 255, 'null' => false],
'email' => ['type' => 'string', 'length' => 255, 'null' => false, 'unique' => true],
// ...
],
// ...
],
],
bin/cake bake migration CreateTableUsers --table Users
這將在src/Template/Migrations
目錄下創建一個新的遷移文件,例如20210901000000_create_table_users.php
。文件名中的時間戳會根據當前時間自動生成。
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
class UsersTable extends Table
{
// ...
}
在文件中,找到up()
方法,然后使用CakePHP的ORM方法來定義數據表結構。例如,為上面定義的UsersTable
添加一個字段:
public function up()
{
$this->addColumn('age', [
'type' => 'integer',
'null' => false,
'default' => 0,
]);
}
同樣,你可以在down()
方法中定義如何回滾這個遷移。
bin/cake bake migrate
這將根據你在遷移文件中定義的更改更新數據庫結構。
bin/cake bake migrate revert ALL
這將撤銷所有未提交的遷移。如果你想回滾特定的遷移,可以使用:
bin/cake bake migrate revert <migration_file_name>
將<migration_file_name>
替換為你要回滾的遷移文件名。