- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库 ―― 迁移
数据库 —— 迁移
1、简介
迁移,迁移通常和Laravel的结构构建器结对从⽽可以很容易地构建应⽤的数据库表结
构。
Laravel的Schema门⾯提供 与数据库系统⽆关的创建和操纵表的⽀持,在Laravel所
⽀持的所有数据库系统中提供⼀致的、优雅的、平滑的API 。
2、⽣成迁移
使⽤Artisan命令make:migration来创建⼀个新的迁移:
php artisan make:migration create_users_table
新的迁移位于database/migrations⽬录下,每个迁移⽂件名都包含时间戳从⽽
允许Laravel判断其顺序。
--table和--create选项可以⽤于指定表名以及该迁移是否要创建⼀个新的数据
表。这些选项只需要简单放在上述迁移命令后⾯并指定表名:
php artisan make:migration add_votes_to_users_table --table=users
php artisan make:migration create_users_table --create=users
如果你想要指定⽣成迁移的⾃定义输出路径,在执⾏make:migration命令时可以
使⽤--path选项,提供的路径应该是相对于应⽤根⽬录的。
3、迁移结构
迁移类包含 两个⽅法:up和down。up⽅法⽤于新增表,列或者索引到数据库,
⽽down⽅法就是up⽅法的反操作,和up⾥的操作相反。
在这两个⽅法中你都要⽤到Laravel的表结构构建器来创建和修改表,想要学
习Schema构建器的更多有⽤⽅法,可以查看其⽂档。例如,让我们先看看创建
flights表的简单⽰例:
?php
use Illuminate Database Schema Blueprint;
use Illuminate Database Migrations Migration;
class CreateFlightsTable extends Migration{
/**
* 运⾏迁移
*
* @return void
*/
public function up()
{
Schema::create(flights, function (Blueprint $table) {
$table-increments(id);
$table-string(name);
$table-string(airline);
$table-timestamps();
});
}
/**
* 撤销迁移
*
* @return void
*/
public function down()
{
Schema::drop(flights);
}
}
4、运⾏迁移
要运⾏应⽤中所有未执⾏的迁移,可以使⽤Artisan命令的migrate⽅法。如果你正在
使⽤Homestead虚拟机,应该在你的虚拟机中运⾏如下这条命令:
php artisan migrate
如果再运⾏时遇到”class not found“的错误提⽰,尝试运⾏composer dump-
autoload命令然后重新运⾏迁移命令。
在⽣产环境中强制运⾏迁移
有些迁移操作是毁灭性的,这意味着它们可能造成数据的丢失,为 避免在⽣产环境
数据库中运⾏这些命令,你将会在运⾏这些命令之前被提⽰并确认。想要强制运⾏这
些命令⽽不被提⽰,可以使⽤--force:
php artisan migrate --force
4.1 回滚迁移
想要回滚最新的⼀次迁移”操作“ ,可以使⽤rollback命令,注意这将会回滚最后⼀
批运⾏的迁移,可能包含多个迁移⽂件:
php artisan migrate:rollback
migrate:reset命令将会回滚所有的应⽤迁移:
php artisan migrate:reset
4.1.1 在单个命令中回滚/迁移
migrate:refresh命令将会先回滚所有数据库迁移,然后运⾏migrate命令。这个
命令可以有效的重建整个数据库:
php artisan migrate:refresh
php artisan m
您可能关注的文档
最近下载
- 【国家标准】GB∕T 35450-2017 聚碳酸酯薄膜及片材.pdf
- 医疗废物管理制度 (1).doc VIP
- 青19J2青19J3建筑专业(三):建筑用料及做法+屋面.docx
- 项目安全资料标准化实施手册 (1).pdf VIP
- 2022年成都市武侯国有资本投资运营集团有限责任公司招聘考试题库及答案解析.docx VIP
- 机械设计软件:Creo二次开发_(2).CreoAPI基础.docx VIP
- 第三十八回 及时雨会神行太保 黑旋风斗浪里白条-名著《水浒传》阅读导航+情节概括+思维导图+原文批注+阅读训练初中语文.docx VIP
- 物理性污染与防治.ppt VIP
- 1+X快递运营理论测试题.docx VIP
- 9.29事故抢险救援战评总结.ppt VIP
文档评论(0)