Recently, Laravel LLC introduced Envoyer, which allows you to update the production server without turning it off. And the scheme there seems to be as clear - roughly speaking, we first collect the new version in a new folder and, as everything is ready, switch the site to use files from this new folder.
But I did not understand how to deal with migrations. For example, I have a service in which users register at several hundred people per second. In essence, the user has a name field (on the registration form, respectively, also one field), in which the user's first and last names fall.
I decided to update it and make it so that instead of one name field there are 2 fields: first_name and last_name (i.e. new users must fill in two corresponding fields when registering, and the existing ones must share the name field into two fields). And if everything is clear with the update of the source code, how about the update of the database? In order not to turn off the server and no user fell off during the registration process.