数据库迁移与填充

创建迁移文件

命令php artisan make:migration create_table_admin
格式最好是create_table_表名,执行命令完毕,会产生一个以时间开头的然后后部分自定义的文件,文件中有个up和down方法,

up用于新增表
down用于删除表,与up相反

迁移结构

Schema::create('admin',function(Blueprint $table){ $table -> increments('id'); $table -> string('account',50)->default('')->comment('账号'); $table -> string('password',250)->default('')->comment('密码'); $table -> string('nickname',5)->default('')->comment('昵称'); $table -> timestamps(); });
Schema::create('这里填写你的表名',function(Blueprint $table){ $table -> increments('id'); //这里是主键自增ID,完全自定义,详情看laravel学院的文档 $table -> string('自定义字段名,如 account',50)->default('')->comment('账号');//自定义 $table -> string('password',250)->default('')->comment('密码');//自定义 $table -> string('nickname',5)->default('')->comment('昵称');//自定义 $table -> timestamps();//会产生两个字段(更新时间和创建时间) });
写好要创建的字段,开始迁移 执行以下命令
php artisan migrate
会提示Migration table created successfully.说明命令迁移成功.到这里迁移完毕

数据填充

这里我使用的是模型工厂方式来填充数据
执行命令,创建Model
php artisan make:model Model/Admin/Admin
这里注意 命名空间 App\Model\Admin\Admin
创建完毕后,执行命令创建填充器
php artisan make:seeder AdminTableSeeder
`
use Illuminate\Database\Seeder;

class AdminTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//factory函数是插入到数据库,命名空间一定使用你要创建那个表的模型所在的命名空间
factory('App\Model\Admin\Admin')->create();//
}
}

在ModelFactory.php文件中
$factory->define(App\Model\Admin\Admin::class,function(Faker\Generator $fake){
return [
'account' => 'admin',
'password' => Crypt::encrypt(123456),
'nickname' => '超级管理员'
];
});$factory->define(创建表的模型所在的命名空间的类,function(Faker\Generator $fake){ return [ 'account' => 'admin',//可以随机如 $fake->name; 'password' => Crypt::encrypt(123456), 'nickname' => '超级管理员' ]; });
以上代码完毕 可以创建个测试方法测试一下是否能产生数据,
$res = factory(\App\Model\Admin\Admin::class)->make(); dd($res);在测试方法中加上 make是只产生
如果成功 那么执行命令

php artisan make:seed --class=AdminTableSeeder

AdminTableSeeder是只你所创建填充器的名字,一定要指定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章分类 后台文章分类列表页模板导的详细步骤建立数据表blog_category,并添加相应的文章字段使用php ...
    JoyceZhao阅读 1,771评论 0 14
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • {{--命令--}}使用composer下载laravelcomposer create-project lara...
    menhaopeng阅读 343评论 0 0
  • 【记忆10个无序词语】 1沙发 2坚持 3音乐 4雨滴 5核心 6高楼 7太阳 8上升 9孩子 10小鸟 1:这个...
    黄一彬阅读 475评论 1 2
  • 夜深人静依栏,万家灯火寂灭,独月伴孤心。
    就这样长大阅读 137评论 0 0