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

160 阅读2分钟

本文由 简悦 SimpRead 转码, 原文地址 juejin.cn

「这是我参与 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

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

    public function boot()
    {
        //use Illuminate\Support\Facades\Schema; 需要顶部引入
        Schema::defaultStringLength(191);
    }


  1. 最后结果 就是表已经生成了