Я наслаждался Homestead в течение многих лет, и сегодня заметил очень привлекательную функцию, которой я никогда раньше не пользовался.
https://laravel.com/docs/7.x/homestead#database-snapshots говорит:
Homestead поддерживает замораживание состояния баз данных MySQL и MariaDB и переход между ними с помощью Logical MySQL Manager. Например, представьте себе работу на сайте с многогигабайтной базой данных. Вы можете импортировать базу данных и сделать снимок. Выполнив некоторую работу и создав тестовый контент локально, вы можете быстро вернуться к исходному состоянию.
...
Общий рабочий процесс выглядит следующим образом:
- Импортируйте базу данных в ветку
master
lmm по умолчанию.- Сохраните снимок неизмененной базы данных с помощью
sudo lmm branch prod-YYYY-MM-DD
.- Измените базу данных.
- Запустите
sudo lmm merge prod-YYYY-MM-DD
, чтобы отменить все изменения.- Запустите
sudo lmm delete <branch>
, чтобы удалить ненужные ветки.
Этот инструмент кажется действительно полезным, но у меня возникли проблемы с выполнением этих инструкций. Вот что я пробовал и результаты:
sudo lmm status
Active snapshot:
Database snapshots:
master
2.70% used by MySQL databases.
sudo lmm branch beforeImports
df: '': No such file or directory
Logical volume name "" is invalid.
Run `lvcreate --help' for more information.
mount: /homestead-vg/beforeImports: special device /dev/homestead-vg/mysql-beforeImports does not exist.
mount: /homestead-vg/beforeImports: special device /dev/homestead-vg/mysql-beforeImports does not exist.
mount: /homestead-vg/prod-YYYY-MM-DD: special device /dev/homestead-vg/mysql-prod-YYYY-MM-DD does not exist.
mount: /homestead-vg/beforeImports: special device /dev/homestead-vg/mysql-beforeImports does not exist.
sudo lmm checkout master
is the currently active database.
Setting /homestead-vg/master as the active database.
rm: cannot remove '/var/lib/mysql': Is a directory
ln: failed to create symbolic link '/var/lib/mysql/master': File exists
Я использую: Windows 10, Vagrant 2.2.7, Virtualbox 6.1.2, Homestead v10.2.0.
Что я делаю не так?
P.S. Я посмотрел на https://github.com/Lullabot/lmm/blob/ubuntu-18.04/functions.sh#L5 (я думаю, это то, что использует Homestead), а затем я запустил sudo echo `readlink
/var/lib/mysql`
, и он напечатал пустую строку. Но sudo ls -lah /var/lib/mysql
показывает много файлов. Я явно не знаю, что делаю, и буду признателен за любую помощь.
П.П.С. Я также вижу https://github.com/laravel/homestead/issues/1112 но не понимаю.