Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.11.2017 22:01:58

Как почистить миграции

За время разработки куча миграций скапливается. Где то столбец добавили, другой убрали, потом переименовали итд. Понятно что цепь миграций приводит к нужному результату.. Но можно ли их то почистить и заменить несколькими, а то и одной актуальными?

Не в сети

#2 11.11.2017 22:08:08

Re: Как почистить миграции

Можно. В 5.5 есть команда php artisan migrate:fresh, в предыдущих версиях пересоздай БД вручную и запусти обновленные миграции.

Но вообще, лучше во время разработки не плодить лишние миграции. Используй одну миграцию на таблицу, особенно если работаешь один.

Не в сети

#3 11.11.2017 22:10:46

Re: Как почистить миграции

>Используй одну миграцию на таблицу, особенно если работаешь один.

Так приходит идеи, что то одно нужно в таблицу добавить то другое.

Попробовал


www-data@nf-web2:/www/nofiles55$ php artisan migrate:fresh
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table
Migrating: 2017_08_30_122207_create_activations_table
Migrated:  2017_08_30_122207_create_activations_table
Migrating: 2017_08_30_131621_create_mediable_tables
Migrated:  2017_08_30_131621_create_mediable_tables
Migrating: 2017_08_30_173136_add_verified_col
Migrated:  2017_08_30_173136_add_verified_col
Migrating: 2017_08_31_090113_create_email_change
Migrated:  2017_08_31_090113_create_email_change
Migrating: 2017_08_31_092703_create_pass_change
Migrated:  2017_08_31_092703_create_pass_change
Migrating: 2017_09_08_083411_cashier_prepare
Migrated:  2017_09_08_083411_cashier_prepare
Migrating: 2017_10_02_203042_AddCurrentPeriodEndColumn
Migrated:  2017_10_02_203042_AddCurrentPeriodEndColumn
Migrating: 2017_10_07_121655_ChangeToBrainTree
Migrated:  2017_10_07_121655_ChangeToBrainTree
Migrating: 2017_10_09_102226_create_plans_table
Migrated:  2017_10_09_102226_create_plans_table
Migrating: 2017_11_02_210724_payments_table
Migrated:  2017_11_02_210724_payments_table
Migrating: 2017_11_08_153942_subscription_start_date
Migrated:  2017_11_08_153942_subscription_start_date
Migrating: 2017_11_10_113155_payment_braintree_id
Migrated:  2017_11_10_113155_payment_braintree_id

Не в сети

#4 11.11.2017 22:11:43

Re: Как почистить миграции

Данная команда вроде бы просто пересоздала таблицы, а миграции то остались все перечисленные...

Не в сети

#5 11.11.2017 22:12:35

Re: Как почистить миграции

Я имел ввиду не таблицы пересоздать, а именно что бы вместо всех этих миграций осталась одна... тк вся это их история честно ничем не полезна..

Не в сети

#6 11.11.2017 22:15:26

Re: Как почистить миграции

миграции то остались все перечисленные

Дак ты приведи в порядок миграции сначала. Или ты спрашивал про автоматическое объединение миграций?

Не в сети

#7 11.11.2017 22:31:40

Re: Как почистить миграции

>Или ты спрашивал про автоматическое объединение миграций?

Типа того

>Дак ты приведи в порядок миграции сначала

А как уже прошедшие миграции привести в порядок? Откатить все и просто переписать?

Не в сети

#8 11.11.2017 23:11:30

Re: Как почистить миграции

Почему то теперь по команде migrate:rollback и migrate сразу несколько миграцией срабатывают

www-data@nf-web2:/www/nofiles55$ php artisan migrate
Migrating: 2017_10_09_102226_create_plans_table
Migrated:  2017_10_09_102226_create_plans_table
Migrating: 2017_11_02_210724_payments_table
Migrated:  2017_11_02_210724_payments_table
Migrating: 2017_11_08_153942_subscription_start_date
Migrated:  2017_11_08_153942_subscription_start_date
Migrating: 2017_11_10_113155_payment_braintree_id
Migrated:  2017_11_10_113155_payment_braintree_id

В общем видимо придеться миграции все переписать и пересоздать..

Не в сети

#9 11.11.2017 23:11:55

Re: Как почистить миграции

Кстати а как все старые миграции просто убить? Удалить их файлы просто?

Не в сети

#10 12.11.2017 08:09:21

Re: Как почистить миграции

Кстати а как все старые миграции просто убить? Удалить их файлы просто?

Да. Это же обычные классы. Просто ты не сможешь сделать refresh или rollback, только fresh.

Не в сети

#11 12.11.2017 13:29:22

Re: Как почистить миграции

Все понятно, удалить руками и переписать… Да в общем то старые миграции сами по себе не мешают пока…

Не в сети

#12 14.11.2017 21:49:07

Re: Как почистить миграции

А как накатить файлы миграций на основе существующих в БД таблиц?

Не в сети

#13 14.11.2017 21:54:31

Re: Как почистить миграции

А как накатить файлы миграций на основе существующих в БД таблиц?

https://github.com/Xethron/migrations-generator

Не в сети

Подвал раздела