За последние 24 часа нас посетили 21563 программиста и 1017 роботов. Сейчас ищут 717 программистов ...

Правильное обновление базы на сервере как?

Тема в разделе "Laravel", создана пользователем Nemoj, 20 окт 2020.

  1. Nemoj

    Nemoj Новичок

    С нами с:
    14 авг 2020
    Сообщения:
    30
    Симпатии:
    0
    У меня есть сайт на локальной машине, сайт в интернете на хостинге.
    Когда я нажимаю в PHP-шторме git-push, автоматически измененные файлы заливаются на сервер.
    Но как быть с базой? Я создаю миграцию, запускаю php artisan migrate, в локальной базе появляются новые колонки или изменяются параметры существующих. Теперь я логинюсь в PHP-MyAdmin и ручками вношу изменения в базу на сервере.
    Но ведь это неправильно!
    Как надо?
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
  3. Nemoj

    Nemoj Новичок

    С нами с:
    14 авг 2020
    Сообщения:
    30
    Симпатии:
    0
    Вот уж не это я хочу. У меня на локальном компе пусть будет пара тестовых строчек в таблице, а на сервере забиваются данные совсем другие. Мне нужно только структуру обновить. А данные не переносить.
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    Не переносите.
    Миграции данные не переносят.
    Если выполняете без ключа -seed
     
  5. Nemoj

    Nemoj Новичок

    С нами с:
    14 авг 2020
    Сообщения:
    30
    Симпатии:
    0
    Я это понимаю, и поэтому спрашиваю, как запустить миграцию на сервере. На локальном компьютере я в командной строке пишу php artisan migrate, а на сервере у меня нет командной строки. А если и есть, то там нет артисана. Как обычно поступают?
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    А куда вы его дели с сервера, что его у вас там нету? И командная строка должна быть. Laravel ставить на дешёвый шаред - идиотизм, но на шаредах тоже часто есть доступ в ssh-консоль, не рутовскую, но вам и не нужна рутовская. Но вообще, Laravel предполагает нормальное VPS-окружение, на котором доступна и командная строка, и рут, и возможность доустановить/настроить supervisord и прочие прелести.
     
  7. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Значит у тебя должны быть настроены вебхуки с гит-сервиса на сервер с проектом. А значит запускается какой-то скрипт, который в консоли выполнит git pull. Вот там же и стоит выполнять миграции.
     
  8. Nemoj

    Nemoj Новичок

    С нами с:
    14 авг 2020
    Сообщения:
    30
    Симпатии:
    0
    Нашел доступ в 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
    Вот бы еще найти, где можно задать "После аплоуда запустить команду"
     
  9. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Рожать через попу больно.
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    А зачем? Трудно дёрнуть одну команду? Так-то для подобных фокусов есть упомянутые хуки гита, есть дженкинс (но вы его вряд ли поднимите), но и то и другое требует VPS
     
  11. Nemoj

    Nemoj Новичок

    С нами с:
    14 авг 2020
    Сообщения:
    30
    Симпатии:
    0
    У меня не хуки с гита, у меня в PHPStorm стоит настройка Commit options... After commit: upload files to
    Вы сразу все знали и умели. А я учусь. С вашей помощью в конце концов разберусь и в том, каким местом рожать приятнее.
    --- Добавлено ---
    Дернуть одну команду, конечно, легче, чем руками в PHPMyAdmin.
    А еще легче было бы и одну команду не дергать.
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    Я дёргать предпочитаю :)