我试图创建一个包含Laravel迁移的表,但我遇到了一些麻烦。 我只需要创建一个包含主要对的表(' id'和' revision'),即“' id'自动增量。 我可以在MySQL中完成它,但是我无法通过Laravel Migrations来实现它,因为incrementments()也将字段设置为主要字段。 到目前为止,我有这个:
Schema::create('bibliographies', function(Blueprint $table)
{
$table->increments('id');
$table->integer('revision');
...
$table->timestamps();
$table->softDeletes();
$table->primary(array('id', 'revision'));
});
注意:更改incrementments()方法不是一个选项,因为它是Laravel核心。
提前感谢您的帮助。
答案 0 :(得分:5)
重新添加之前只需drop the primary key:
$table->dropPrimary( 'id' );
$table->primary( array( 'id', 'revision' ) );
答案 1 :(得分:0)
$table->unsignedInteger('id')->change();//will remove the auto increment
$table->dropPrimary('id');//will remove primary constrain
$table->unsignedInteger('revision') //add revision column
$table->primary( array( 'id', 'revision' ) );//make them both primary
$table->increments('id')->change()//add the auto increment constrain back