欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

laravel 数据迁移 数据填充

程序员文章站 2022-05-18 14:59:14
...

3.1.1、生成与编写迁移

php artisan make:migration create_test_table --create=test
create_test_table   生成的文件后缀名称
--create=test        生成表名为test的数据表

laravel 数据迁移 数据填充

laravel 数据迁移 数据填充

编写迁移文件,创建字段和表

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArtitleTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('article', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title',200)->default('')->comment('标题');
            $table->string('desn',500)->default('')->comment('描述');
            $table->unsignedInteger('uid')->default(0)->comment('用户id');
            $table->text('cnt')->comment('文章内容');
            $table->timestamps();
        });

        /*Schema::create('cate', function (Blueprint $table) {
            $table->increments('id');
            $table->string('cname',200)->default('')->comment('标题');
            $table->timestamps();
        });*/
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        /**
         * 如果表存在就删除
         */
        Schema::dropIfExists('article');
        // Schema::dropIfExists('cate');
    }
}

3.1.2、执行数据迁移

php artisan migrate
# 直接执行迁移文件中的up方法

laravel 数据迁移 数据填充

laravel 数据迁移 数据填充

3.1.3、回滚迁移

回滚最后一次的迁移操作, 删除(回滚)之后会删除迁移记录,并且数据表也会删除,但是迁移文件依旧存在,方便后期继续迁移(创建数据表)。

php artisan migrate:rollback
# 直接执行迁移文件中的 down方法

laravel 数据迁移 数据填充

回滚条件,根据数据表中的

laravel 数据迁移 数据填充

 

根据此值来找迁移文件,然后执行迁移文件中的down方法

3.1.4、清除表后再执行迁移

php artisan  migrate:refresh
# 先执行所有的迁移文件的down方法,再执行所有的迁移文件的up方法

laravel 数据迁移 数据填充

3.1.5、小结

  • 创建

php artisan make:migration 文件名  --create=表名

  • 编写迁移文件 [见文档]
  • 执行

php artisan migrate

  • 回滚

php artisan migrate:rollback

  • 清除表并重新执行迁移

php artisan migrate:refresh

 

3.2、数据填充

填充操作就是往数据表中写测试数据的操作。

3.2.1、创建和编写种子文件

php artisan make:seeder TestTableSeeder{种子文件的名,文件名}

laravel 数据迁移 数据填充

 

laravel 数据迁移 数据填充

编写种子文件代码

laravel 数据迁移 数据填充

3.2.2、执行种子文件

# 执行指定种子的文件

php artisan db:seed --class=需要执行的种子文件名

 

# 执行全部的种子文件

php artisan db:seed   必须在DatabaseSeeder文件中定义好 call

 

# 删除表并执行迁移和种子文件

php artisan migrate:refresh --seed  必须在DatabaseSeeder文件中定义好 call

laravel 数据迁移 数据填充

使用db:seed 执行不带参数

在DatabaseSeeder文件中run中的call方法定义我们的写的种子

laravel 数据迁移 数据填充

这样就可以执行如下的两个命令

laravel 数据迁移 数据填充

 

相关标签: laravel 教程