本文へ移動
Unlogical Systems

Ctrl / ⌘ + K でも開けます

    Unlogical Systems

    Prisma を採用する理由

    Prismaは、TypeScriptからデータベースを型安全に操作するためのツールです。弊社がNode.jsで作るサーバーでデータベースの構造管理とデータ操作にPrismaを採用する理由と、保守の考え方をまとめました。

    Prismaとは

    Prismaは、TypeScriptやJavaScriptのプログラムからデータベースを操作するためのツールです。データベースの表や項目の構造を専用の定義ファイルに記述し、そこからTypeScriptの型と、データの読み書きを行うコードを自動生成します。項目名の打ち間違いや型の食い違いがコードを実行する前に検出できるため、安全にデータベースを扱えます。構造の変更履歴を管理し、順番に適用する仕組みも備えているため、開発環境と本番環境でデータベースの構造を揃えて運用できます。PostgreSQLやMySQLなど主要なデータベースに対応しています。

    弊社が採用する理由

    弊社では、Node.jsとTypeScriptでサーバー側を作る案件で、データベースの構造管理とデータ操作にPrismaを採用しています。定義ファイルからTypeScriptの型が生成されるため、Next.jsやFastifyで書くコードとデータベースの構造が常に一致し、項目の追加や変更が影響する箇所を型チェックで洗い出せます。構造の変更履歴を管理する仕組みは、LaravelのマイグレーションをNode.jsの世界で実現するものと考えるとわかりやすく、ステージング環境と本番環境で同じ手順で構造を更新できます。PostgreSQLやSupabase、MySQLと組み合わせており、データベースの種類が変わっても操作のコードを大きく変えずに済む点も利点です。データベースの構造は設計資料そのものでもあるため、定義ファイルを納品物に含めることで、引き継ぎ時の理解を助けています。

    向いている案件

    • Node.jsとTypeScriptで作るWebアプリケーションのデータベース操作
    • データベースの構造変更を安全に管理したいシステム
    • 画面からデータベースまで型で一貫させたいプロジェクト

    保守・移行の観点

    Prismaの更新では、生成されるコードの形や設定の書き方が変わることがあるため、更新後は生成をやり直し、型チェックとテストが通ることを確認します。データベース構造の変更履歴は一度適用したものを書き換えず、新しい変更として追加する運用を徹底すると、環境間の不整合を防げます。本番環境への構造変更はバックアップを取得したうえで実施し、大きなデータを持つ表の変更は事前に所要時間を検証します。複雑な集計処理では生成されたコードより直接SQLを書くほうが適切な場合もあるため、使い分けの方針を残しておくと保守しやすくなります。

    組み合わせて使う技術

    よくあるご質問

    Laravelのシステムでも Prisma を使いますか?

    いいえ。Laravelには同じ役割の仕組みが標準で備わっているため、Prismaは Node.js と TypeScript でサーバー側を作る案件で使います。

    Prismaで作ったデータベースは他のツールからも読めますか?

    はい。Prismaが作るのは通常のPostgreSQLやMySQLのデータベースなので、集計ツールや他の言語のプログラムからもそのまま接続できます。

    関連するサービス

    関連する開発ガイド

    関連用語: ステージング環境基本設計・詳細設計API

    監修: Unlogical Systems合同会社杉並区・西荻窪)公開

    まずは現場のエンジニアにご相談ください

    営業担当ではなく、実際に設計・開発を行うエンジニアが直接お答えします。ご相談・お見積りは無料、1営業日以内にご回答いたします。

    無料でご相談・お見積り

    資料の添付は、送信後に届く受付メールへの返信でお送りいただけます。

    相談・見積りは無料
    1営業日以内にご回答します

    無料で相談する