我的迁移文件中有以下内容:
public function up()
{
Schema::create('Users', function($table)
{
$table->engine='InnoDB';
$table->increments('id');
$table->string('name', 255);
});
}
到目前为止,整个应用程序使用了signed
个ID,我不想打破这个,所以如何才能使它们成为signed
?我知道默认值是unsigned
并且有一个->unsigned()
修饰符(我不明白,如果这是默认值,那是什么)但是从这个我认为有一个{{ 1}},但没有。下面的代码运行没有错误但是当我在phpMyAdmin中看到它时,id仍然是无符号的:
->signed()
我搜索了official和non official文档,但没有人提到这一点。那我怎样才能做到Schema::create('Users', function($table)
{
$table->engine='InnoDB';
$table->increments('id')->signed();
$table->string('name', 255);
});
?
答案 0 :(得分:3)
设置为自动递增的整数列如果您还想要签名,则应该只做技巧。
$table->integer('id', true);
来自:framework / src / Illuminate / Database / Schema / Blueprint.php
/**
* Create a new integer column on the table.
*
* @param string $column
* @param bool $autoIncrement
* @param bool $unsigned
* @return \Illuminate\Support\Fluent
*/
public function integer($column, $autoIncrement = false, $unsigned = false)
{
return $this->addColumn('integer', $column, compact('autoIncrement', 'unsigned'));
}