От постановки к существующему производственному применению Laravel - PullRequest
0 голосов
/ 26 августа 2018

Привет, ребята и модераторы,

Допустим, я развернул приложение Laravel на рабочем сервере и как мне изменить и обновить приложение, не затрагивая производственные данные?

Предполагается, что я хочу выпустить следующую версию приложения с дополнительными несколькими столбцами для таблицы Users.

Вопрос в том, должен ли я клонировать базу данных из живого в промежуточное состояние? Как правильно изменить промежуточное приложение и развернуть его в производственной среде, не затрагивая производственную базу данных, даже несмотря на то, что в промежуточной стадии есть дополнительные таблицы / столбцы?

В настоящее время я работаю в двух разных средах, удаляю производственные таблицы и импортирую из подготовки. Это звучит как неэффективно.

Есть ли какая-нибудь лучшая идея для улучшения от постановки к производству?

Спасибо!

Меня пытались обыскать, к сожалению, это не приносит удачи.

1 Ответ

0 голосов
/ 26 августа 2018

Предполагается, что я хочу выпустить следующую версию приложения с дополнительными несколькими столбцами для таблицы Users.

Да, пишу новую миграцию следующим образом:

Schema::table('users', function (Blueprint $table) {
    $table->string('email');  // Adding
    $table->string('name', 50)->change();  //Changing

});

Для добавления, изменения типа, переименования и удаления столбцов вам также необходимо установить: composer require doctrine/dbal

См. Дополнительную информацию в документации: https://laravel.com/docs/5.6/migrations#creating-columns

Вопрос в том, должен ли я клонировать базу данных из живого в промежуточное состояние?Как правильно изменить промежуточное приложение и развернуть его в производственной среде, не затрагивая производственную базу данных, даже если есть дополнительные таблицы / столбцы от промежуточной подготовки?

...

Есть ли лучшая идея для улучшения изподготовка к производству?

Я предполагаю, что вы используете Git.Один сервер, и вы можете на некоторое время закрыть свое приложение, может быть, делать обновление, когда системой пользуется меньше пользователей.

  1. Push to repository
  2. ssh для производствасервер
  3. php artisan down --message = "Ваше потрясающее сообщение о вашем обновлении" --retry = 60
  4. СОЗДАЙТЕ ВАШУ БАЗУ ДАННЫХ (на случай, если что-то пойдет не так!)
  5. git pull
  6. обновление композитора
  7. php artisan migrate
  8. php artisan up

Просто убедитесь, что ваши миграции всегда имеют откаты!

Вы можете сделать еще один возврат / сброс после миграции, если вы хотите использовать реальные данные при подготовке или разработке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...