Laravel5.4框架中数据库迁移

2018-04-27  本文已影响3人  铁匠简记

记录数据库状态的改变,可把数据库的状态回退回去。

场景:需要显示出管理员更新资料的时间,在admin表中添加一个updated_at字段记录这个时间。顺手created_at字段记录管理员的注册时间。
编写数据库迁移的前进的方法

命令行下输入命令行

-> php artisan make:migrationalter_admin_table_add_created_at_updated_at_field

在databases/ migrations/…alter_admin_table_add_created_at_updated_at_field文件中编写前进迁移:

public function up()
   {
       // 在这里写数据库前进的状态, 操作admin表添加created_at, updated_at字段
       Schema::table('admin', function(Blueprint $table) {
            // 在这里对admin表进行操作
            // $table->timestamps();
           $table->timestamp('created_at')->nullable();
           $table->timestamp('updated_at')->nullable();
       });
}

命令行执行数据库迁移前进

-> php artisan migrate

查看数据表新增的字段,表示执行成功

说明:mysql的时间戳的数据类型:timestamp,表示时间戳,这种格式的时间戳:2017-06-28 09:48:14

created_at timestampnull,
updated_at timestampnull,

后退

在databases/ migrations/…alter_admin_table_add_created_at_updated_at_field文件中编写后退迁移:

publicfunction down()
    {
        // 把admin表的created_at, updated_at删除
        Schema::table('admin',function(Blueprint $table) {
           $table->dropColumn('created_at');
           $table->dropColumn('updated_at');
        });
    }

命令行执行数据库迁移前进

-> php artisan rollback

执行后的效果如果created_at, updated_at字段被删除了表示成功
数据库迁移的其他命令

migrate              //执行所有迁移文件的up方法
migrate:reset        //执行所有迁移文件的down方法
migrate:rollback     //执行最后一次迁移文件的down方法
migrate:status       //查看数据库迁移文件的执行情况
migrate:install      //创建记录数据库迁移文件的执行情况的表
migrate:refresh      //先把执行所有的迁移文件的down方法,再执行所有的迁移文件的up方法 结果就是内容清空
migrate:status       //查看数据库迁移文件的执行情况
上一篇下一篇

猜你喜欢

热点阅读