Технологія
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 ·
