У меня есть сайт на локальной машине, сайт в интернете на хостинге. Когда я нажимаю в PHP-шторме git-push, автоматически измененные файлы заливаются на сервер. Но как быть с базой? Я создаю миграцию, запускаю php artisan migrate, в локальной базе появляются новые колонки или изменяются параметры существующих. Теперь я логинюсь в PHP-MyAdmin и ручками вношу изменения в базу на сервере. Но ведь это неправильно! Как надо?
Вот уж не это я хочу. У меня на локальном компе пусть будет пара тестовых строчек в таблице, а на сервере забиваются данные совсем другие. Мне нужно только структуру обновить. А данные не переносить.
Я это понимаю, и поэтому спрашиваю, как запустить миграцию на сервере. На локальном компьютере я в командной строке пишу php artisan migrate, а на сервере у меня нет командной строки. А если и есть, то там нет артисана. Как обычно поступают?
А куда вы его дели с сервера, что его у вас там нету? И командная строка должна быть. Laravel ставить на дешёвый шаред - идиотизм, но на шаредах тоже часто есть доступ в ssh-консоль, не рутовскую, но вам и не нужна рутовская. Но вообще, Laravel предполагает нормальное VPS-окружение, на котором доступна и командная строка, и рут, и возможность доустановить/настроить supervisord и прочие прелести.
Значит у тебя должны быть настроены вебхуки с гит-сервиса на сервер с проектом. А значит запускается какой-то скрипт, который в консоли выполнит git pull. Вот там же и стоит выполнять миграции.
Нашел доступ в ssh-консоль. В PHPStorm я добавил SFTP соединение в file-settings-deployment. Теперь жму Tools - Start SSH session... и у меня открывается командная строка сервера. В ней делаю cd sites/mysite.ru и запускаю php artisan. Работает. Уже хорошо. Но найти бы теперь, чтобы при нажатии commit-push не только делался аплоуд изменившихся файлов, но и автоматически запускалась миграция на сервере. --- Добавлено --- У меня не хуки с гита, у меня в PHPStorm стоит настройка Commit options... After commit: upload files to Вот бы еще найти, где можно задать "После аплоуда запустить команду"
А зачем? Трудно дёрнуть одну команду? Так-то для подобных фокусов есть упомянутые хуки гита, есть дженкинс (но вы его вряд ли поднимите), но и то и другое требует VPS
У меня не хуки с гита, у меня в PHPStorm стоит настройка Commit options... After commit: upload files to Вы сразу все знали и умели. А я учусь. С вашей помощью в конце концов разберусь и в том, каким местом рожать приятнее. --- Добавлено --- Дернуть одну команду, конечно, легче, чем руками в PHPMyAdmin. А еще легче было бы и одну команду не дергать.