• 技术文章 >后端开发 >php教程

    laravel中建表为何要用migration来操作数据库?

    2016-06-06 20:22:24原创660

    本地用的服务器是:wampServer
    在www目录下通过composer命令新建了一个laravel5项目,版本是5.1.26
    在很多laravel入门教程里都是通过命令来建立数据表,然后进行数据迁移和填充的,这跟直接在phpMyAdmin或Navicat Premium里建立表有什么不同吗?如果是一样的,那么是使用laravel的migration有什么益处吗?


    发完这个问题后,了解到JellyBool的laravel系列教程(https://laravist.com/),这里有文字版(https://jellybool.com/),在教程四中找到了答案:
    可以将Migration看作一个数据库版本的管理工具,就如git对项目文件的版本管理,可以rollback,reset等(通过php artisan命令查看具体命令)
    所以其实用Migration建表跟直接手动创建表是一样的,不同在于使用Migration有额外的管理数据库的功能:回滚/重置/更新等。

    回复内容:

    本地用的服务器是:wampServer
    在www目录下通过composer命令新建了一个laravel5项目,版本是5.1.26
    在很多laravel入门教程里都是通过命令来建立数据表,然后进行数据迁移和填充的,这跟直接在phpMyAdmin或Navicat Premium里建立表有什么不同吗?如果是一样的,那么是使用laravel的migration有什么益处吗?


    发完这个问题后,了解到JellyBool的laravel系列教程(https://laravist.com/),这里有文字版(https://jellybool.com/),在教程四中找到了答案:
    可以将Migration看作一个数据库版本的管理工具,就如git对项目文件的版本管理,可以rollback,reset等(通过php artisan命令查看具体命令)
    所以其实用Migration建表跟直接手动创建表是一样的,不同在于使用Migration有额外的管理数据库的功能:回滚/重置/更新等。

    使用这个migration
    好处就是你可以在你的项目里面直接保留下表的结构信息,并且由于后面的sql实际上是生成的,哪天你不想用mysql换到pqsql, sqlite甚至oracle都会由ORM替你生成建表语句。
    然后就是额外提供了一些版本控制方面的东西,看你自己是否会需要这些特性来做出评估了。

    当然你也可以完全不用这个工具,用自己的习惯的方式来建表,并没有什么不妥

    把schema纳入版本控制, 方便追踪和deploy
    并且(只要内容不冲突)可以多人平行开发

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php laravel mysql
    上一篇:javascript - 网页无刷新技术 下一篇:求助 apache 下discuz转换成phpwind伪静态问题
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php-fpm配置详解_php实例• 用PHP+MySQL搭建聊天室功能实例代码_php实例• php和数据库结合的一个简单的web实例 代码分析 (php初学者)_php实例• 想下载个论坛,哪种好?该如何解决• PHP 读取大文件时,怎样得到以回车换行的一行数据。该怎么解决
    1/1

    PHP中文网