📜  laravel 迁移删除外键 - PHP (1)

📅  最后修改于: 2023-12-03 15:32:36.568000             🧑  作者: Mango

Laravel 迁移删除外键 - PHP

在 Laravel 中,可以通过迁移来管理数据库表的结构和数据。当需要删除一个表的外键时,可以创建一个迁移来实现。

创建迁移

首先,需要创建一个迁移文件来删除表的外键。在终端中运行以下命令来创建一个新的迁移文件:

php artisan make:migration remove_foreign_key_from_table --table=table_name

table_name 替换为需要删除外键的数据表名称。

修改迁移

接下来,在新创建的迁移文件中添加以下代码:

public function up()
{
    Schema::table('table_name', function (Blueprint $table) {
        $table->dropForeign('foreign_key_name');
    });
}

public function down()
{
    Schema::table('table_name', function (Blueprint $table) {
        $table->foreign('column_name')->references('id')->on('other_table')->onDelete('cascade');
    });
}

table_name 替换为需要删除外键的数据表名称;

foreign_key_name 替换为需要删除的外键名称;

column_name 替换为外键对应的表的列名;

other_table 替换为外键对应的表的名称。

up() 方法用于定义执行迁移操作时需要执行的代码,即删除数据表的外键。

down() 方法用于定义回滚迁移操作时需要执行的代码,即重新添加数据表的外键。

运行迁移

保存修改后的迁移文件后,在终端中运行以下命令来运行迁移:

php artisan migrate

此命令将运行所有未运行过的迁移,并将删除表的外键。如果需要回滚迁移操作,可以运行以下命令:

php artisan migrate:rollback

此命令将回滚最近一次执行的迁移操作,重新添加表的外键。

以上即为在 Laravel 中删除数据库表外键的方法。