我有几个表,我需要tinyint
字段必须是unsigned
并设置为auto_increment
。Laravel 5.3:自动递增无符号TINYINT
该L5.3 Database : Migrations documentation不有一个方法来定义unsigned auto-incrementing tinyint
。我试图用DB::update()
来实现它。为表我的迁移文件看起来像:
public function up()
{
Schema::create('table_name', function (Blueprint $table)
{
$table->unsignedTinyInteger('field1');
$table->string('field2', 255);
$table->primary('field1');
$table->index('field2');
$field = "field1";
});
$this->addAutoIncrements($field);
}
public function addAutoIncrements($field)
{
DB::update('ALTER TABLE table_name MODIFY $field TINYINT UNSIGNED NOT NULL AUTO_INCREMENT');
}
当我尝试php artisan migrate
这样的迁移文件,它迁移没有任何错误,但不分配auto-increment
。
我该如何解决这个问题?我应该将更新作为完整的新迁移来完成吗?有没有人做过?
'$ table-> unsignedTinyInteger('field1') - >增量();' – Ali
@Ali:这是我第一次尝试。没有工作。 –