欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-17 15:59:35
...

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

laravel中建表为何要用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有额外的管理数据库的功能:回滚/重置/更新等。

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

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

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

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

相关标签: php laravel mysql