我有一个表,我想在id中添加 - > unsigned().目前,迁移看起来像:$table->increments('id');
所以我想进行一次新的迁移,将其设置为unsigned,但文档中没有太多可以做到这一点.这是正确的方法:
public function up()
{
Schema::table('authors', function($t) {
$t->unsigned('id', 'authors_id_unsigned');
});
}
public function down()
{
Schema::table('authors', function($t) {
$t->dropUnsigned('authors_id_unsigned');
});
}
Run Code Online (Sandbox Code Playgroud)
我只是在这里猜测,因为我在文档中找不到它.
小智 11
您可以修改Laravel 5+中的列,但必须将doctrine/dbal依赖项添加到composer.json文件中.
public function up()
{
Schema::table('my_table', function (Blueprint $table) {
$table->integer('my_column')->unsigned()->change();
});
}
public function down()
{
Schema::table('my_table', function (Blueprint $table) {
$table->integer('my_column')->change();
});
}
Run Code Online (Sandbox Code Playgroud)
您无法使用Schema Builder更改此类详细信息.
要更改它,您必须运行原始查询.要实现这一点,您的迁移应该如下所示:
public function up()
{
Schema::table('authors', function($t) {
DB::statement("ALTER TABLE `authors` CHANGE COLUMN `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT FIRST");
});
}
public function down()
{
Schema::table('authors', function($t) {
DB::statement("ALTER TABLE `authors` CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT FIRST");
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5534 次 |
| 最近记录: |