Демо данные при разработке - SQL, миграции или ...

Minor

Постоялец
Регистрация
16 Авг 2012
Сообщения
260
Реакции
111
Посоветуйте - как лучше хранить набор демо данных при разработке, при условии что миграции еще могут накатываться/откатываться.

Можно конечно сделать SQL файл, не неохота как то каждый раз в БД лазить.

В инете пишут разное, например что можно создать папку в миграциях и туда закинуть демо данные, но хотелось бы послушать еще варианты.

Фреймворк - YII2
 
Миграции должны служить только для изменения структуры базы данных. Изменять данные в таблицах через миграции чревато большими проблемами, это я по своему опыту говорю.
Для тестов есть фикстуры Для просмотра ссылки Войди или Зарегистрируйся и сто раз перепроверьте, что тесты лезут именно в тестовую базу...

В Yii не самое лучшее название тестов, лучшей практикой является обозвать тесты которые будут работать с FS, БД или не дай бог внешними http/tcp сервисами интеграционными и стараться писать их как можно меньше. В идеале логика приложения должна покрываться Unit тестами, при этом я стараюсь придерживаться концепции TDD и в качестве unit`а выбираю класс (все внешние классы мокаю). Получается дробление на множество классов, необходимость вводить entity, репозитории, сервисы. Зато код почти полный SOLID, с минимальной зависимостью бизнес логики от фреймворка и возвращаясь к нему через пару месяцев мне заметно легче понять куда добавить нужные мне изменнения.
 
  • Нравится
Реакции: Nei
Я только учусь и не всё понял :).

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

Вот как быть с ними ? чтобы выполнить миграции, а потом закинуть в них демо данные?
 
Назад
Сверху