Laravel 迁移更改/更新

标签 laravel laravel-5 migration laravel-5.1

如何正确更改/更新我的迁移,我使用的是 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/

相关文章:

php - Laravel 5.4 Api 路线 401

android - java.lang.IllegalArgumentException : Error: Failed to parse APK file: 异常

laravel - 开始使用 Chef,并在部署时运行 Composer 安装

node.js - Laravel 类型错误 : Cannot read property 'js' of undefined

php - Laravel 配置错误 : The cipher and/or key length are invalid

database - 处理涉及枢轴的范围的正确方法

php - 将 Laravel 迁移与 AWS Redshift 数据库结合使用

database - 在 Laravel Voyager 中创建表时创建迁移文件

ruby-on-rails - Rails has_and_belongs_to_many 迁移

php - 重定向返回后如何保留已输入的值