素材牛VIP会员
laravel中建表为何要用migration来操作数据库?
 雷***y  分类:SQL代码  人气:644  回帖:2  发布于6年前 收藏

本地用的服务器是: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有额外的管理数据库的功能:回滚/重置/更新等。

 标签:mysqlphplaravel

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv5 码农
雷***g 学生 6年前#1

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

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

Lv5 码农
青***0 软件测试工程师 6年前#2

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

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取