@Arik

Есть ли рекомендации по названиям миграций БД?

Как-то особо на счет этого не задумывался т.к. всегда были миграции с timestamp, который сводил к нулю коллизии названий классов миграций, в ларе увидел что называют классы миграций без метки времени (просто CreateArticlesTable), на что подумал что если проект старый в котором могли кучу раз передумывать и делать одни действия, то могли быть конфликты названий классов. Может магией как-то решают этот вопрос, но все же.

Пока помимо доков лары нашел только тут https://github.com/alexeymezenin/laravel-best-practices рекомендуют использовать "2017_01_01_000000_create_articles_table" вместо "2017_01_01_000000_articles"

Хорошо.
1. Примерно догадываюсь как удалить таблицу, удалить и добавить одно-два поля, а если таблица сильно меняется?ModifyArticleTableScheme? ModifyArticleTableSchemeVer2020?
2. Если мне нужно не только изменить большую часть таблицы, но и добавить новую таблицу, которая имеет внешние ключи с первой таблицей? добавление новой таблицы - отдельная миграция?

В общем хочется услышать как называете миграции БД
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Да без разницы, если честно. Она запустится единожды и дальше про нее можно забыть навсегда.

Конфликты маловероятны, ни разу не стыкался.

AddTargetTypeColumnToOptionsTable
AddSomeSetOfFieldsToSomeTable
MakeOptionFieldsNullable
CreateSomeTable
RenameSomeFieldInSomeTable
RenamePackageTables

Главное, что бы вам было удобно ее искать до того, как она закомичена. Остальное значения не имеет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Byte255
Пишу на PHP за еду
Я называю элементами соответствующего SQL запроса например
'alter_users_add_rating'

Но если говорить о конфликте имён, по-моему временная метка достаточна чтобы конфликта не произошло.
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
Используйте плагин onecentlin.laravel-extension-pack (вернее ryannaddy.laravel-artisan в составе этого пака) для vs code, по команде Artisan: make migration он сам подставит текущее время по utc в начало названия файла. А оставшую часть можно добивать парой слов для описания того, что изменяется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект