laravel数据库迁移(三)

laravel号称世界上最好的框架,数据库迁移算上一个,在这里先简单入个门:

laravel很强大,它把表中的操作写成了migrations迁移文件,
然后可以直接通过迁移文件来操作表.
所以 , 数据迁移文件就是 操作表的语句文件 操作表的语句文件
为什么用迁移文件 , 而不直接敲 sql 操作表 ?
1.  便于团队统一操作表.
2.  出了问题,容易追查问题和回溯,有历史回退功能.

先创建一个库:

配置一下文件,修改.env中的参数

 

cmd.exe命令行输入如下命令创建一个表的迁移文件:php artisan make:migration create_table_liuyan --create=liuyan

 

先不忙这理解这个命令的意思,且看执行这个命令后生成的一个文件:

 

打开这个文件,是 php文件 :

<?php

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

class CreateTableLiuyan extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('liuyan', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('liuyan');
    }
}

 

ok,对比一下,再来看前面的命令,解释一下:php.exe解释器通过artisan这个工具创建migration(英译迁移)文件,其中类名CreateTableLiuyan对应create_table_liuyan(随便取的,你 开心就好,不过还是按照规则来),最后--create=liuyan是固定格式就是创建一个liuyan的表

我们要来修改这个迁移的文件

<?php

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

class CreateTableLiuyan extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('liuyan', function (Blueprint $table) {
            $table->increments('id');
            $table->char('username',10);
            $table->char('password',50);
            $table->tinyInteger('sex');
            $table->char('title',20);
            $table->string('content',200);
            $table->tinyInteger('pubtime');
            $table->tinyInteger('ip');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('liuyan');
    }
}

 

 

ok,在cmd.exe窗口执行命令:php artisan migrate

 

ok,创建迁移表成功,用另一个cmd窗口查看一下wmsgs下是否有这张表:

 

ok,有了liuyan这个表了,另外三个表是migration自动生成的表

同样,如果我们想增加其中一个表列该怎么办,比如我们想增加一个表列email,输入如下命令:

php artisan make:migration add_email_to_liuyan --table=liuyan

 

生成一个表列迁移文件,同样也是php文件:

 

打开这个文件:

<?php

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

class AddEmailToLiuyan extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('liuyan', function (Blueprint $table) {
            //
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('liuyan', function (Blueprint $table) {
            //
        });
    }
}

将这个生成的php迁移文件改为如下:

<?php

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

class AddEmailToLiuyan extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('liuyan', function (Blueprint $table) {
            $table->string('email');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('liuyan', function (Blueprint $table) {
            $table->dropCloumn('email');
        });
    }
}

在cmd.exe窗口执行命令:

ok,增加表列成功,开另一个cmd窗口看一下:

email成功添加到liuyan表中!

恭喜你,到这里数据库迁移入门 了

 

当然有很多命令还需要去多敲多记,加油!

程序员装逼只用命令行 ,不用命令行out了,哈哈

转载于:https://www.cnblogs.com/xiong63/p/6143104.html

分布式数据库架构及企业实践-基于Mycat中间件【高清版本】这是个压缩包,里面是个pdf文件,详细的介绍了mycat中间件的使用方法。 内容简介 本书由资深 Mycat 专家及一线架构师、DBA 编写而成。全书总计 8 章,首先简单介绍了分布式系统和分布式数据库的需求,然后讲解了分布式数据库的实现原理,并对市场上存在的各种分布式数据库中间件进行了对比,再围绕着如何利用 Mycat 实现分布式数据库而展开。本书对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、分布式事务及原生 MySQL、PostgreSQL 协议等核心技术。通过本书不仅可以了解 Mycat 的基本概念,掌握 Mycat 配置等技术,还能感受到 Mycat 的架构设计之美,了解 Mycat 2.0的未来规划。 无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深 IT 人士来说,本书都极具参考价值 分布式数据库架构及企业实践——基于Mycat中间件由资深 Mycat 专家及一线架构师、DBA 编写而成。全书总计 8 章,首先简单介绍了分布式系统和分布式数据库的需求,然后讲解了分布式数据库的实现原理,并对市场上存在的各种分布式数据库中间件进行了对比,再围绕着如何利用 Mycat 实现分布式数据库而展开。《分布式数据库架构及企业实践——基于Mycat中间件》对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、分布式事务及原生 MySQL、PostgreSQL 协议等核心技术。通过本书不仅可以了解 Mycat 的基本概念,掌握 Mycat 配置等技术,还能感受到 Mycat 的架构设计之美,了解 Mycat 2.0的未来规划。 无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深 IT 人士来说,《分布式数据库架构及企业实践——基于Mycat中间件》都极具参考价值。 目录 第 1 章数据库中间件与分布式数据库的实现 1 第 2 章 Mycat 入门 13 第 3 章 Mycat 进阶 22 第 4 章 Mycat 高级技术实战 68 第 5 章 Mycat 企业运维 179 第 6 章 Mycat 架构剖析 215 第 7 章 Mycat 核心技术分析 241 第 8 章 Mycat多数据库支持原理与实现 275
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值