Введение в наполнители в Nest
После развёртывания приложения таблицы часто пусты, и каждый разработчик вручную заводит одни и те же опорные строки через клиент базы. Повторять это при каждом новом окружении утомительно, а забытая строка ломает сценарий на сайте с материалами.
Наполнитель: класс, который готовит объекты сущности и передаёт их репозиторию для записи. Его обычно вызывают, когда модуль уже собран, а запросы ещё не пришли: данные оказываются в PostgreSQL до первого обращения к адресу.
В Nest наполнитель оформляют как
провайдер темы. Репозиторий приходит
через внедрение, сущность регистрируют
через TypeOrmModule.forFeature,
а корень поднимает базу site
с autoLoadEntities и
synchronize. Отдельный пакет
для наполнения не нужен: достаточно
методов репозитория и момента старта
модуля или приложения.
Дальше разберём одну строку при
пустой таблице, пакетную запись
списка, отдельный класс наполнителя,
общий запуск нескольких классов,
сбор строк из коротких слов в коде,
запись хеша пароля через
node:crypto и пересоздание
данных без удаления всей базы.