【发布时间】:2023-04-05 07:25:01
【问题描述】:
我有
一个名为cpe_mac 的现有列。我通过这样的迁移创建了它:
$table->string('cpe_mac')->default(NULL)->nullable();
我想要
我想将此->unique() 添加到该列,而不必删除它并重新添加。
我试过了
$table->string('cpe_mac')->unique();
迁移文件
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AlterCaptivePortalTable212017 extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('captive_portals', function (Blueprint $table) {
$table->string('cpe_mac')->unique();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('captive_portals', function (Blueprint $table) {
$table->string('cpe_mac')->default(NULL)->nullable();
});
}
}
我保留了
得到
SQLSTATE[42701]: Duplicate column: 7 ERROR: column "cpe_mac" of relation "captive_portals" already exists
有没有办法在不删除现有列的情况下实现这一点?我有很多无法删除的客户数据。
【问题讨论】:
标签: php laravel laravel-5 database-migration