laravel 8 迁移文件

laravel 8 迁移文件

什么是迁移文件?

迁移文件其实就是相对数据库的一个版本控制,让我们去能够轻松的定义和共享程序里面的一些数据结构,通常是配合到我们数据库的一个结构,迁移可以轻松生成应用程序的数据结构。如果我们有一个成员在本地的数据库环境里面去添加到一个字段的时候,我们就可以通过迁移去给他进行操作。
迁移分为两种,一种是创建迁移,以及编写还有一个执行迁移文件。

在这里插入图片描述

文件名开头的数字是时间
我们点开看一下
在这里插入图片描述

另外两个文件也大同小异,这些都是laravel 8 框架默认定义的一些表,如果我们在这里执行迁移文件的话,如果我们不需要用到这些表(user表、密码表、jobs表),最好删除它,不然我们在数据库里面可能会看到这三张表的存在!!!

创建迁移文件

创建一个 书表book
id 主键
b_name 书名
b_pirce 书的价格
b_num 书数量

artisan 脚手架命令:名字我们照着默认去编写 create_表名_table

php artisan make:migration  create_book_table

创建之后文件名字前面会自带时间

在这里插入图片描述

increments(‘id’) 创建自增 id 的方法
comment(‘注释’)添加注释
string(‘字段名’ , ‘长度’) 创建字段 类型是string
integer(‘字段名’) 创建字段 类型是int
decimal(‘字段名’ [,长度,小数点后面几位精确度]) 专门用来存放小数的类型,默认8,2
$table->charset=‘utf8mb4’; 定义字符编码

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateBookTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('book', function (Blueprint $table) {
            $table->increments('id')->comment('主键');
            $table->string('b_name','32')->comment('书名');
            $table->decimal('b_price')->comment('书的价格');
            $table->integer('b_num')->comment('书的数量');
            $table->charset='utf8mb4';//定义字符编码
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('book');
    }
}

执行迁移文件

用迁移文件之前我们还需要运行一个命令,也就是记录到我们每一次创建表的参数一张表,也就是migrations的表,方便以后我们创建表的时候去看到创建有哪些表是通过迁移文件创建的,我们需要记录这样一些东西。

php artisan migrate:install

我们在创建完这个表之后我们就可以在数据表里面看到我们迁移文件运行的编号,以及执行过迁移文件的名字。

运行完这个命令,数据库多了一张表:

在这里插入图片描述

我们运行刚刚创建的文件名,看看是否有去记录到

php artisan migrate

在这里插入图片描述

我们再刷新一下,看看book表

在这里插入图片描述

执行单个迁移文件: –path=/database/migrations/文件名

>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php

回滚操作 / 删除这张表

php artisan migrate:rollback

回滚之后表就不能存在了,记录也没了,也清除了。

:我们在执行迁移文件之后不要轻易去改迁移文件名字,否则回滚不回来了,找不到之前创建的迁移文件的名字。

回滚指定数量的迁移: –step=前几个文件

php artisan migrate:rollback --step=5
                       

点击阅读全文

上一篇 2023年 5月 27日 am10:16
下一篇 2023年 5月 27日 am10:17