artisan 命令使用总结

artisan 命令使用总结

artisan 命令使用过程的一些记录!


==数据迁移==

之前一直对数据迁移很感兴趣,也看过了几遍文档,一直没怎么理解,也没怎么深入研究,今天得空,认真看了文档,百度了一些相关文章 点击这里,亲自试了一些常用的操作,特写此文章记录


迁移的创建、执行和回滚

  • 创建迁移
php artisan make:migration create_news_table

错误写法:

php artisan migrate:make create_news_table

示例结果:

Paste_Image.png
  • 执行迁移
php artisan migrate

示例结果:

Paste_Image.png

如果继续执行 php artisan migrate ,因为没有新的可执行 migrate ,将不执行任何动作

示例结果:

Paste_Image.png
  • 执行回滚
php artisan migrate:rollback

示例结果:

Paste_Image.png
  • 执行修改字段类型

执行修改字段类型的时候需要composer requires doctrine/dbal

安装doctrine/dbal:

artisan 命令使用总结_第1张图片
Paste_Image.png

数据库的记录(migrations)

  • 数据库记录如下

每执行一次迁移(php artisan migrate),batch 加 1(不管这次执行了几个迁移文件,一次执行的文件batch 一样),

数据库保存结果如下:


artisan 命令使用总结_第2张图片
Paste_Image.png

如果执行回滚,数据库最近一次执行的所有迁移将进行回滚,回滚完成,数据库迁移记录结果将会被删除!如果手动删除数据库记录,则回滚的时候,将不对该迁移回滚,并且对应的迁移在再次执行 php artisan migrate的时候将会重新被执行,所以最好不要随意删除 migrations 表中的数据

执行迁移回滚原理

通过artisan 建立的迁移文件中包括两个function (up,down),其中up 是在执行迁移的时候执行的,而down 也刚好就是对立的,回滚的时候执行

示例:

例如1:
public function up(){
    //创建表,执行迁移的时候执行
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
    });
}

public function down(){
    //删除表,回滚的时候执行
    Schema::drop('users');
}


例如2:

public function up()
{
    Schema::table('users', function($table) {
        $table->renameColumn('email', 'user_email');    //修改字段名称
    });
}


public function down()
{
    Schema::table('news', function($table) {
        $table->renameColumn('user_email', 'email');    //回滚的时候再修改成原来的
    });
}

总结

  • 迁移是用来记录每次的数据库操作的,不管是创建表,还是修改一个字段名称,都需要单独创建一个迁移文件
  • 迁移文件中,包含一个up 和一个down,是两个对立的方法,如果up创建表,down就是删除表,反之亦然!
  • 每次执行迁移都会记录到迁移记录表中(magrition 表),回滚则删除相应记录通过batch 来判断是那一批迁移

其他相关artisan 随后更新

你可能感兴趣的:(artisan 命令使用总结)