laravel数据库migrate后想要修改数据表字段信息

laravel中执行 php artisan migrate 后数据库中也插入数据
但是我现在想修改表的结构 比如想为 title 字段加上一个默认值为0
撤回的话数据就没了 如何能保证数据库数据还在又可以修改数据表呢

ps(我试过如果增加一个字段可以再创建一个migration 但是修改字段信息发现就不行了)

阅读 25.2k
4 个回答

按照laravel提出的协同开发规范,你应该新建一个迁移文件,命令如下

php artisan make:migration alter_tablename_table --table=tablename

然后就是一楼的写法了

Schema::table('users', function ($table) { $table->string('title')->default('1')-> change(); });

最后执行

php artisan migrate

需要先安装doctrine/dbal,这个包

第一步:比如需要给products增加一个catagory_id字段,先需要
`
$ php artisan make:migration alter_products_table --table=products
Created Migration: 2020_03_24_062524_alter_products_table
`
第二步:然后在database/migrations/2020_03_24_062524_alter_products_table.php中对应位置增加

 public function up()
    {
        Schema::table('products', function (Blueprint $table) {
        //以下为增加的字段
                $table->integer('category_id');
        });
    }

最后一步
`
$ php artisan migrate
Migrating: 2020_03_24_062524_alter_products_table
Migrated: 2020_03_24_062524_alter_products_table (0.06 seconds)
`

推荐问题
宣传栏