Laravel8快速入门教程五-数据表生成

「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战

背景

  1. 项目用Thinkphp5.1开发完成,对于各种关系模型的查询Tp处理起来还是比较吃力的。
  2. 作为努力奔跑的程序员,下一个项目我们决定用Lavarel进行开发。
  3. 因为掘金粑粑有奖励,所以把部分gitee上的私有的部分学习笔记整理一下。

说明

Laravel属于中大型框架,各种功能都被内置了,而且Laravel官方的文档看的我是云里雾里的,对于新手感觉不是很友好。所以此系列文章只适合有PHP基础。想快速入门搞开发的

前提

一般项目开发数据库表都是项目经理 或者专门的人员设计。但是,随着功能的不断完善或者是需求上发生的变化。需要对字段进行调整的。这就会存在,测试线上功能搞好了,上到正式线上可能会因为数据库字段缺失报错了。
Laravel可以通过migrations创建数据库表,并完成对数据库表的结构的一些调整操作。

正文

  1. 第一步要配置数据库 在 .env文件中。
DB_HOST=192.168.2.2
DB_PORT=3306
DB_DATABASE=liiy_l_demo_com
DB_USERNAME=liiy_l_demo_com
DB_PASSWORD=admin123
复制代码
  1. 命令行创建migrations
D:\liiy_study\liiy.laravel_demo.com>php artisan make:migration create_blogs  
Created Migration: 2021_11_09_124752_create_blogs
复制代码
  1. 然后就是编辑生成的文件 \database\migrations\2021_11_09_124752_create_blogs.php
    语法跟sql很是接近
    public function up()
    {
        Schema::create('blogs', function (Blueprint $table) {
            $table->id();
            $table->string('title')->default('')->comment('标题');
            $table->text('content')->comment('内容');
            $table->bigInteger('author_id')->index()->default(0)->comment('作者id');
            $table->bigInteger('category_id')->index()->default(0)->comment('类别idid');
            $table->string('remarks')->default('')->comment('备注');
            $table->tinyInteger('status')->default(0)->comment('审核状态 0未审核 1审核通过');
            $table->timestamps();
        });
    }
复制代码
  1. 运行命令生成数据

php artisan migrate

image.png
此时出现一个错误 需要配置 文件 app\Providers\AppServiceProvider.php 具体原因目前我还没研究明白。只是想着能先把业务搞通。

    public function boot()
    {
        //use Illuminate\Support\Facades\Schema; 需要顶部引入
        Schema::defaultStringLength(191);
    }
复制代码
  1. 最后结果 就是表已经生成了

image.png