Миграция laravel 5 добавляет несколько первичных ключей в мою таблицу базы данных. как предотвратить это?

Когда я создаю миграцию 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();


});

0

Решение

Я думаю, что вы неправильно прочитали информацию, которую вы получаете в PhpMyAdmin. У тебя есть primary слово неактивно без возможности щелкнуть по нему в строке для linkdesc столбец, и вы думали, что Laravel создает первичный ключ для этого столбца.

Однако истина совсем иная — она ​​неактивна не потому, что Laravel автоматически создал первичный ключ для этого поля, а потому, что это текстовое поле, а текстовые поля не могут быть первичными ключами.

Вы можете проверить это, нажав на PhpMyAdmin на Indexes — должно быть под таблицей — там вы увидите, что первичный ключ отсутствует linkdesc колонка.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]