laravel中执行数据迁移文件及对数据迁移后的数据表进行填充

我们在完成创建迁移以及对数据表的中创建数据表的方法进行数据的添加后,我们就需要执行此迁移文件,迁移到我们的数据库里面。
1.进行数据迁移前我们需要操作的是:
在我们的命令窗口执行:
php artisan migration:install
执行这个命令成功后会在我们的数据库里面创建一个名为migrations的数据表,里面有三个字段
第一个:id就是我们平常理解的id
第二个:migration 这个是记录我们迁移文件的名字
第三个:batch 其英文意思就是批次的意思,在这里也表示批次,就是一次执行的迁移文件他们的批次是相同的
2.下面我们开始执行数据的迁移
在我们的迁移文件里面有up()和down()方法,为数据表创建和删除的方法
(1)首先我们先来执行up()方法也就是对数据表进行创建
我们依然是通过在命令行窗口执行命令的方式进行执行
在此之前我们需要知道,在migrations文件夹里面有laravel自带的的迁移文件,我们需要把自带的迁移文件删除后再执行命令,若不删除则会一起执行,并不是我们想要的的结果。
接下来在刚才打开的命令行里面输入命令:
php artisan migrate
在这里插入图片描述
会出现上面的内容,说明我们的数据表在我们自己的数据库里面创建成功。
因此,在我们的数据库里面会出现一个数据表,里面是我们在up()方法里面编写的数据表。
数据迁移成功,接下来如果我们想在表里面添加数据也就是数据的填充,我们就需要在seed这个文件夹里面创建填充类,当然laravel会有自带的一个填充类,我们可以根据自带填充类的命名方法来进行命名。
<1>创建填充器我们需要在命名行进行创建:
php artisan make:seeder PaperTableSeeder
创建成功后在seed文件夹里面就会有我们的填充类
<2>然后打开我们创建的类文件,里面会有一个run()方法,在run()方法里面添加数据
如下所示

public function run()
    {
        DB::table('paper')->insert(
         [[
         'Pager_name' =>'english',
         'Total_score' =>100,
         'Start_time' =>time()+86400,
          'Duration' =>120,
          'Status' =>1,
         ],
         [
         'Pager_name' =>'chinese',
         'Total_score' =>100,
         'Start_time' =>time()+86400,
          'Duration' =>120,
          'Status' =>1,
         ],
         [
         'Pager_name' =>'math',
         'Total_score' =>100,
         'Start_time' =>time()+86400,
          'Duration' =>120,
          'Status' =>1,
         ]]
         );
 <3>执行填充类
 在命令行输入php artisan db:seed --class=PaperTableSeeder
 执行完成后在我们的数据表中就会插入数据

(2)如果我们想要删除数据表,那么就是我们迁移文件里的down()方法
在命令行执行命令:php artisan migrate:rollback
相当于回滚操作也就是回滚到最后一步,这个回滚操作针对的是批次进行操作也就是上面说的batch,回滚操作会删除同一批次的数据表
注意:删除操作只删除迁移表的记录和对应的数据表,其它的操作不执行

在执行创建表命令的时候,我们需要做的是:
php artisan migrate这个命令。当我们已经执行完成后,如果再一次执行它是不成功的,因为迁移的时候系统会将迁移文件夹里面的文件和数据表的记录进行匹配,若匹配成功则执行,不成功则不执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值