laravel 5 迁移将一些主键添加到我的数据库 table。如何预防形成呢?
laravel 5 migration add some primary keys to my database table. how to prevent form it?
当我按如下方式创建 Laravel5 迁移时,它会添加 "linkdesc" 列作为主键。当我阅读 laravel5 迁移的文档时,它没有提到 $table->text('description');
这给出了数据库中的主键。
有什么办法可以防止在 laravel5 中自动添加主键?
还有其他迁移功能会提供这种不需要的主键吗?
我的迁移如下
Schema::create('articles', function (Blueprint $table) {
$table->primary(['pemail', 'linkid']);
$table->bigInteger('linkid');
$table->string('pemail');
$table->string('linkname');
$table->string('linkurl');
$table->integer('linorder');
$table->text('linkdesc')->nullable();
});
我认为您误读了在 PhpMyAdmin 中获得的信息。您有 primary
个词处于非活动状态,无法在 linkdesc
列的行中单击它,并且您认为 Laravel 为此列创建了主键。
然而事实却大不相同 - 它处于非活动状态不是因为 Laravel 自动为此字段创建了主键,而是因为它是一个文本字段,文本字段不能作为主键。
您可以在 Indexes
上单击 PhpMyAdmin 时验证它 - 它应该在 table 下方 - 您会看到 linkdesc
列上没有主键。
当我按如下方式创建 Laravel5 迁移时,它会添加 "linkdesc" 列作为主键。当我阅读 laravel5 迁移的文档时,它没有提到 $table->text('description');
这给出了数据库中的主键。
有什么办法可以防止在 laravel5 中自动添加主键?
还有其他迁移功能会提供这种不需要的主键吗?
我的迁移如下
Schema::create('articles', function (Blueprint $table) {
$table->primary(['pemail', 'linkid']);
$table->bigInteger('linkid');
$table->string('pemail');
$table->string('linkname');
$table->string('linkurl');
$table->integer('linorder');
$table->text('linkdesc')->nullable();
});
我认为您误读了在 PhpMyAdmin 中获得的信息。您有 primary
个词处于非活动状态,无法在 linkdesc
列的行中单击它,并且您认为 Laravel 为此列创建了主键。
然而事实却大不相同 - 它处于非活动状态不是因为 Laravel 自动为此字段创建了主键,而是因为它是一个文本字段,文本字段不能作为主键。
您可以在 Indexes
上单击 PhpMyAdmin 时验证它 - 它应该在 table 下方 - 您会看到 linkdesc
列上没有主键。