我如何在迁移中删除 table 的外键和主键?
How i drop foreign and primary key of table in migration?
我如何在迁移文件中删除多个外键和主键。
下面是我的迁移文件代码。
迁移文件
public function up()
{
Schema::create('role_user', function(Blueprint $table){
$table->integer('role_id')->unsigned();
$table->integer('user_id')->unsigned();
$table->foreign('role_id')
->references('id')
->on('roles')
->onDelete('cascade');
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
$table->primary(['role_id', 'user_id']);
});
}
public function down()
{
Schema::drop('role_user');
//how drop foreign and primary key here ?
}
Blueprint class 提供 dropForeign 和 dropPrimary 方法,让您可以删除外键约束和主键。
以下应该可以解决问题:
public function down()
{
Schema::table('role_user', function (Blueprint $table) {
$table->dropForeign('role_user_role_id_foreign');
$table->dropForeign('role_user_user_id_foreign');
$table->dropPrimary();
});
}
我如何在迁移文件中删除多个外键和主键。
下面是我的迁移文件代码。
迁移文件
public function up()
{
Schema::create('role_user', function(Blueprint $table){
$table->integer('role_id')->unsigned();
$table->integer('user_id')->unsigned();
$table->foreign('role_id')
->references('id')
->on('roles')
->onDelete('cascade');
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
$table->primary(['role_id', 'user_id']);
});
}
public function down()
{
Schema::drop('role_user');
//how drop foreign and primary key here ?
}
Blueprint class 提供 dropForeign 和 dropPrimary 方法,让您可以删除外键约束和主键。
以下应该可以解决问题:
public function down()
{
Schema::table('role_user', function (Blueprint $table) {
$table->dropForeign('role_user_role_id_foreign');
$table->dropForeign('role_user_user_id_foreign');
$table->dropPrimary();
});
}