Технология
Prisma
Prisma — ORM с открытым исходным кодом для Node.js и TypeScript: модель данных описывается в одной схеме, а Prisma генерирует по ней типизированный клиент и миграции. Я использую её с PostgreSQL в своих продуктах и на этом сайте
- Тип
- Технология
- Официальный сайт
- prisma.io
- В моей работе
- Проекты 1 · Инструменты 1
- Опубликовано
Где я её применяю
QRuma: игры для одного большого экрана, где телефон — геймпад
QRuma запускает игры для компании на одном большом экране: игроки сканируют QR-код, и телефон становится геймпадом без установки. Проект вырос из VibeCatter
ИнструментыКонструктор квиза: свои вопросы для Quiz Battle
Создайте свой квиз со своими вопросами и проведите его на большом экране: гости отвечают с телефонов. Сценарии, инструкция и ограничения конструктора
Что такое Prisma и как я использую её с PostgreSQL?
С Prisma схема базы данных и код на TypeScript не могут разойтись: переименованная колонка ломает сборку, а не продакшен-сервер
Основные факты
Как я применяю Prisma
- Одна схема на весь продукт. Пользователи, матчи, контент и платежи моей мультиплеерной платформы и этого сайта описаны в одной схеме Prisma на PostgreSQL; типизированный клиент следует за каждым изменением. Кейс платформы.
- Миграции, которые можно прочитать. Каждое изменение — SQL-миграция в репозитории. Перед релизом я применяю её к одноразовой локальной базе и сравниваю результат со схемой.
- Релизы с путём назад. Я предпочитаю миграции, которые только добавляют таблицы и колонки: если новый релиз придётся откатить, предыдущий продолжит работать. В продакшене они применяются после зашифрованной резервной копии.
Когда я выбираю Prisma и её ограничения
Prisma подходит продуктам, где большинство запросов — обычные чтение и запись, а команда хочет типы везде. Она убирает целый класс ошибок и делает миграции частью код-ревью.
Для тяжёлых отчётов и нестандартных запросов я пишу SQL напрямую — Prisma позволяет это в том же проекте. Разрушительное изменение, например удаление таблицы, всё равно требует плана и резервной копии: ни один инструмент сам по себе не делает его безопасным.
Работает вместе с
Источники
- Prisma Documentation — Prisma ·
