如何正确更改/更新我的迁移,我使用的是 Laravel 5.1。
文档说我应该使用更改来更新列,例如:
$table->string('color', 10)->change();
但是我必须把它放在迁移中的什么地方,我必须使用什么命令来更新一个简单的 php artisan migrate?
到目前为止我试过这个:
public function up()
{
Schema::create('products', function (Blueprint $table)) {
$table->string('color', 5);
});
Schema::table('products', function (Blueprint $table)) {
$table->string('color', 10)->change();
});
}
并使用了这个命令:
php artisan migrate
但它没有改变。
最佳答案
首先,创建新迁移以更改现有表列。
php artisan make:migration update_products_table
然后您应该在新迁移中的 up()
方法中执行此操作:Schema::table('products', function (Blueprint $table) {
$table->string('color', 10)->change();
});
因此,您将有两次迁移。首先确实已经创建了错误长度的 products
字符串的 color
表。第二次迁移会将
color
字符串长度从 5 更改为 10。创建秒迁移后,再次运行
php artisan migrate
,更改将应用于表。
关于Laravel 迁移更改/更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022384/