Laravel5.4框架中数据库迁移

xiaoxiao2021-02-28  121

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

场景:需要显示出管理员更新资料的时间,在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       //查看数据库迁移文件的执行情况

转载请注明原文地址: https://www.6miu.com/read-22580.html

最新回复(0)