Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Миграция - что такое? Для чего нужна не пойму!?
Обясните попроще!
Возможность не создавать/удалять/изменять таблицы/поля/индексы в phpMyAdmin вручную, а один раз записать в коде и затем применять их или откатывать одной консольной командой. Если работаешь в команде, то соответственно не нужно описывать изменения для каждого члена команды, достаточно создать миграцию и каждый сам её применит, а результат будет предсказуем.
Не в сети
Спасибо, немного понятно, хотя я не совсем понимаю что значит откатывать?!
Как откатить, что если один создаст такой файл миграции и применит и я чтото изменю и потом запущу новый миграцию, то тот второй что может откатить? Таблицу ее свойства как были? Или что?
Не пойму на практике как это помогает?!
Миграции не изменяются после создания, а БД — не изменяется никак в обход миграции. Соответственно, чтобы вам что-то применить, нужно сначала применить все миграции, которые есть у вашей команды, а потом уже написать свою новую миграцию и применить ее. Чтобы откатить — откатываете всё до той миграции, которой нужно, а потом делаете свою и применяете её.
- Не пойму на практике как это помогает?!
Если у вас в команде один человек — вы — то можете об этом не думать. Проще понять в действии, когда будет несколько человек.
Не в сети
Ok Google! С миграцией вроде все ясно, но как быть если в базе есть данные и хочешь добавить поле? Migrate:refresh добавляет поле, но удаляет записи.
Курю мануал, нравится новый сайт
Не в сети
Просто добавьте в новой миграции поле:
public function up()
{
Schema::table('users', function($table)
{
$table->string('email');
});
}
http://laravel.com/docs/4.2/schema#adding-columns
И примените миграцию: artisan migrate
Не в сети
Страницы 1