在 laravel 中更改迁移值
Posted
技术标签:
【中文标题】在 laravel 中更改迁移值【英文标题】:Changing a migration value in laravel 【发布时间】:2021-03-02 10:48:31 【问题描述】:我创建了一个可以为空的迁移,但后来我意识到它应该是默认值 0。有没有办法通过另一个迁移来改变它。
这是我最初的迁移
Schema::table('items', function (Blueprint $table)
$table->unsignedBigInteger('total')->nullable();
);
这是我正在尝试运行的迁移
Schema::table('items', function (Blueprint $table)
$table->unsignedBigInteger('total')->default(0);
);
【问题讨论】:
laravel.com/docs/8.x/migrations#updating-column-attributes 请阅读文档 不知道这是否是一种好的做法,但如果您的数据库是新的并且不是实时的,那么您可以对现有迁移进行更改,而不是仅仅为了修改列属性并运行该迁移而进行另一次迁移就像新的一样,假设您设置了播种机,因为您将丢失运行新迁移的数据。 这能回答你的问题吗? Make column not nullable in a Laravel migration 【参考方案1】:参考 Laravel 8.x 文档你可以试试这段代码来更新列属性
Schema::table('items', function (Blueprint $table) $table->unsignedBigInteger('total')->default(0)->change(); );
【讨论】:
我试过了,我的数据库中的项目仍然为空 你能详细说明你是怎么做到的吗?$table->unsignedBigInteger('total')->default(0)->change();
然后运行 migrate
你使用的是哪个版本的 laravel?
你添加依赖了吗?? composer require doctrine/dbal
以上是关于在 laravel 中更改迁移值的主要内容,如果未能解决你的问题,请参考以下文章