Alexander
Alexander
😄 стало еще более непонятно
Andrey
Вот, да. Читаю доку — миграции = структура БД. А как быть с данными?
Если я натыкал что-то на локалке, и некий модуль, скажем, Коммерс, внёс изменения в БД.
Как это синронизируют грамотные люди?
Am
😄 стало еще более непонятно
Тут только когда пользоваться начнете, то сразу каааак поймете что это очень просто, то сами не поверите. ((%
Alexander
Am
Am
Alexander
Миграциями хотя бы. ((:
чтобы начать пользоваться надо понять вообще для чего они, а потом еще раз понять для чего они именно мне. И вообще я уже про слим читаю 😁
Andrey
😄 стало еще более непонятно
Короче миграции это такой гитхаб местный в ларе для бд.
Сидите вдвоём над сайтом, и ты понимаешь, что в некой таблице тебе надо добавить одну колонку и удалить две.
Делаешь командой спец. файлик, правишь его. Кладёшь его в спец. папку. Пулишь на гит.
И пишешь второму чуваку — бро, я всю таблицу пошатал. Но ты руками никуда не лазай, забери с гита, выполни команду — и таблица будет как надо.
Am
Andrey
А, ну да. И если накосячил, можно опять же команду ввести и откатить это всё до некого состояния.
Andrey
А вот как быть с ДАННЫМИ в таблице)
Alexander
Ахуеть! а я думал это просто переползание с одной таблицы на другую 😀
Evgeny
Andrey
Не, это именно для того чтобы с ИДЕ и консоли контроллить таблицу и если что изменить/откатить
Am
А вот как быть с ДАННЫМИ в таблице)
В БД можно делать только бекапы. Эти бекапы можно складывать файлы, файлы в гит, хуками смотреть с чем работаете на данный момент и в нужное время разворачивать-сворачивать бекап из файла.
Alexander
Andrey
Ну а я на секунду подумал, что при создании контроллера некого, который будет изменять табличные данные, эти изменения как-то хитро пишутся в миграции. И типа потом можно на боевом сайте это накатить
Andrey
Вот кстати пример под рукой.
Нужно сделать таблицу resources, в ней 4 поля.
файл раз
Schema::create('resources', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('content');
$table->timestamps();
});
Пользуемся, пользуемся...
Потом бам - надо добавить поле.
Файл два
Schema::table('resources', function (Blueprint $table) {
$table->integer('owner_id')->change();
});
Alexander
Andrey
Ага
Andrey
И в файлах миграции кстати 2 метода. Один для создания, второй для удаления. Т.е. командой php artisan migrate:четотам можно откатить.
Am
Alexander
Andrey
Значит надо обратно накатить)
Alexander
Am
(:
Для этого их и придумывали - чтобы не лазить в базу.
Andrey
В общем для себя я пока так особо не нашёл применения. Суть ясна, а для одинокого проекта... Ну такое.
Andrey
Am
Так. Увидел ключевые слова "минимальное наполнение тем же сидированием" =)
Есть seeding - сидирование, наполнение данными. В ларавели
php artisan make:seeder NameTableSeeder
. А в нем уже всякие функции:
public function run()
{
DB::table('users')->insert([
'name' => str_random(10),
'email' => str_random(10).'@gmail.com',
]);
}
А чтобы это все дело автоматизировать, то создали фабрики и делают что-то типа:
public function run()
{
factory(App\User::class, 100)->create()->each(function($u) {
$u->posts()->save(factory(App\Post::class)->make());
});
}
Вот она создает 100 пользователей со связями и т.д.
Andrey
Угу, читал, но не могу понять привязку к Эво в целом и к изменению ресурсов в частности.
Вот скажем на локалке я зашёл и создал новый ресурс в админке.
Это поможет мне неким образом создать такой же ресурс на боевом?
Am
Мы обратно возвращаемся к тому что в Эво данные важны, т.к. создаются привязки к айдишникам. Когда у Вас есть 100% копия и Вы знаете что никто не боевом не будет ничего менять, то все что создали на локалке можно перенести на боевой.
Опять же для этого не нужно миграции использовать и сидирование. Сидированием можно, конечно же, более удобно нагенерить данных или взять их из какого-то файла обработать и загнать в БД, только это вряд ли прям сильно применимо к базовой работе на Эво.
Когда у Вас свои таблицы или кастомизация и при этом нужно хранить историю разработки, то миграции помогут.
Andrey
В общем-то phpmyadmin — наше всё пока что?
Am
Наверное. ((%
Кому через что удобнее.
Максим
adminer.php
Am
У меня через phpstorm
Максим
есть еще
Максим
супер легкий pma
Andrey
Да не суть, хоть Навикат)
Andrey
Axenia
remote_adm (2708.01) увеличил карму Ambrion (2403.29)
Am
(((((%
Лучше читайте и учитесь. Плюсики это хорошо, да только куда их девать? ((%
Andrey
Было бы время. Сейчас вот начал, а завтра прибежит опять какой-нибудь из начальников и скажет делать сайт на wp
Максим
нене, не так. скажет ты еще не сделал ? ))
Am
Дык, начальник в рабочее время может требовать, а вот вне рабочего - пару раз попробовать и потом уже уходить с работы куда-то где платят 3К$
Andrey
1к было бы уже норм)
Am
Себя тоже люБИть нужно. (;
Andrey
Ну тут ещё и от обучаемости зависит.
Я медленный =)
Volodymyr
С текущим ринком, специалистов хватают как пирожки гарячие
Andrey
Так то специалистов.
Am
Не только, начальные знания джунов тоже востребованы. Другое дело себя показать.
Aliaksandr
Pathologic
это типа ларавель попроще
Alexander
Pathologic
вот сейчас Веббер скажет и ты такой- все, перехожу 😸
Alexander
Pathologic
ну хз с чего ты переходить собрался
Pathologic
просто для образования нужно брать и делать хоть что
Pathologic
а все эти пакеты наебалово
Alexander
А зачем автор ларавеля сделал еще один микро лар?
Pathologic
потому что ларавель оброс всяким говном, которое нельзя просто взять и выбросить
Alexander
Непонятно
Alexander
Несовместимость им плевать
Alexander
А выбросить нельзя
Pathologic
плевать но в меру
Pathologic
https://habrastorage.org/getpro/habr/upload_files/035/6ad/978/0356ad97886a8f542bfa667800ffe712.gif
Pathologic
как можно было испортить микшер
Pathologic
🤦♂️
Alexander
вин11? так это поправят все
Pathologic
в смысле поправят, это дизайн такой
Pathologic
специальная команда пидоров два года разрабатывала
Мирослав
Объясните в чем разница между +dl.wrap+ и просто +wrap+