codecamp

Laravel 8 数据库快照

Homestead 支持保存 MySQL 和 MariaDB 数据库的状态并通过 Logical MySQL Manager 在不同状态间进行切换。例如,假设你的站点数据库有几个 G 的数据量,你可以导入这个数据库并保存一份快照,在本地工作一段时间后有可能会创建一些新的测试内容,你可以通过快照快速恢复到最初的状态。

在底层,LMM 使用了 LVM 的支持写时复制的瘦快照功能,这意味着当修改表中某条记录时,只会将你所做的更改写入磁盘,从而在恢复期节省大量时间和磁盘空间。

由于 lmm 会与 LVM 进行交互,所以必须以 root 身份运行。要了解所有命令,可以在 Homestead 虚拟机中通过 sudo lmm 查看。常见的工作流会是这样:

  1. 导入数据库到 lmm 默认的 master 分支。
  2. 运行 sudo lmm branch prod-YYYY-MM-DD 保存尚未做任何修改的数据库快照。
  3. 修改数据库记录。
  4. 运行 sudo lmm merge prod-YYYY-MM-D 撤销所有修改。
  5. 运行 sudo lmm delete <branch> 删除不需要的分支。


Laravel 8 数据库备份
Laravel 8 添加额外的站点
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Laravel 8 入门指南

Laravel 8 基础功能

Laravel 8 前端开发

Laravel 8 安全相关

Laravel 8 综合话题

数据库

Eloquent ORM

测试相关

官方拓展包

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }