Conversation
Deploying utcode-learn with
|
| Latest commit: |
9bab7d9
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://33961a31.utcode-learn.pages.dev |
| Branch Preview URL: | https://update-prisma-to-latest-vers.utcode-learn.pages.dev |
ab790cb to
a108f20
Compare
9e052db to
2e79eda
Compare
chvmvd
left a comment
There was a problem hiding this comment.
途中までレビューしたのですが、そもそも動作していないような気がします...
|  | ||
|
|
||
| リレーショナルデータベースに対するクエリは、通常**SQL**と呼ばれる言語を用いて記述します。データベース<Term>クライアント</Term>として用いるライブラリによっては、SQLを直接用いることなく、そのライブラリが提供する専用の関数等を用いてデータベースに対してクエリを発行できることがあります。 | ||
| リレーショナルデータベースに対するクエリは、多くの場合、**SQL**と呼ばれる言語を用いて記述されます。しかし、SQLは人間が直接記述するための言語であり、プログラム中に直接記述するにはあまり適していません。そのため、データベースへのクエリをプログラムから発行しやすくするための<Term>ライブラリ</Term>が数多く存在しています。その中でも、この節で用いる[Prisma](https://www.prisma.io/)は、Node.jsにおける最も人気のある<Term>ライブラリ</Term>の一つです。 |
There was a problem hiding this comment.
しかし、SQLは人間が直接記述するための言語であり、プログラム中に直接記述するにはあまり適していません。
ここの表現はあまり正確でなく、誤解を招くように思います。この文だと「SQLはプログラム中に書くものではない」と読めてしまうような気がします。
There was a problem hiding this comment.
以前の動画では自動生成されたパスワードをメモ帳アプリに保存していましたが、現在の動画ではクリップボードに保存しているだけになっているので、学習者がパスワードを紛失してしまう事例が出てしまいそうな気がします。
| ### SupabaseでPostgreSQLサーバーを構築する | ||
|
|
||
| ### 使用する技術・サービス | ||
| PostgreSQLサーバーは自分で構築することもできますが、この節では、[Supabase](https://supabase.com/)というサービスが提供しているサーバーを利用します。まずは、Supabaseのアカウントを作成し、`New Project`ボタンから新しいPostgreSQLサーバーを起動させてください。入力が必要な情報は次の通りです。 |
There was a problem hiding this comment.
以前の動画を撮影した時点では、New Projectボタンでしたが、現在の動画を撮影した時点では、New projectボタンになっていそうです。
| PostgreSQLサーバーは自分で構築することもできますが、この節では、[Supabase](https://supabase.com/)というサービスが提供しているサーバーを利用します。まずは、Supabaseのアカウントを作成し、`New Project`ボタンから新しいPostgreSQLサーバーを起動させてください。入力が必要な情報は次の通りです。 | |
| PostgreSQLサーバーは自分で構築することもできますが、この節では、[Supabase](https://supabase.com/)というサービスが提供しているサーバーを利用します。まずは、Supabaseのアカウントを作成し、`New project`ボタンから新しいPostgreSQLサーバーを起動させてください。入力が必要な情報は次の通りです。 |
|
|
||
| 現在最もよく用いられるリレーショナルデータベースのひとつです。豊富な機能を持ちます。 | ||
| - **Project name**: 起動するサーバーにつける名前です。適当に設定して構いません。 | ||
| - **Database Password**: 起動するサーバーのパスワードです。`Generate a password`ボタンを押して生成するのが良いでしょう。また、後でこのパスワードは使用することになるため覚えておきましょう。 |
There was a problem hiding this comment.
上と同様
| - **Database Password**: 起動するサーバーのパスワードです。`Generate a password`ボタンを押して生成するのが良いでしょう。また、後でこのパスワードは使用することになるため覚えておきましょう。 | |
| - **Database password**: 起動するサーバーのパスワードです。`Generate a password`ボタンを押して生成するのが良いでしょう。また、後でこのパスワードは使用することになるため覚えておきましょう。 |
| - **Project name**: 起動するサーバーにつける名前です。適当に設定して構いません。 | ||
| - **Database Password**: 起動するサーバーのパスワードです。`Generate a password`ボタンを押して生成するのが良いでしょう。また、後でこのパスワードは使用することになるため覚えておきましょう。 | ||
| - **Region**: 起動するサーバーの地理的な場所です。ここでは`Northeast Asia (Tokyo)`を選択しています。 | ||
| VS Code向けのPrisma拡張機能をインストールしましょう。これにより、VS Code上で、Prismaで使用する`.prisma`ファイルを編集する際の補助機能が提供されるようになります。 |
There was a problem hiding this comment.
「VS Code上で、Prismaで」となっており、文章の意味がわかりづらくなってしまっているため、単に「これにより、VS Code上で.prismaファイルを編集しやすくなります。」ぐらいの説明でも良いような気がします。
| まずは、`findMany`メソッドの戻り値を、デバッガを用いて確認してみましょう。 | ||
|
|
||
| ```javascript | ||
| import { PrismaClient } from "./generated/prisma/index.js"; |
|
|
||
| :::tip[`@prisma/client` パッケージのインポート元] | ||
|
|
||
| `@prisma/client`パッケージによって提供される`PrismaClient`クラスは、`./generated/prisma/index.js`からインポートします。このファイルは、`npx prisma db push`コマンドを実行した際に自動的に生成されるファイルで、`schema.prisma`ファイルに記述したテーブルの構造を元に、Prismaが自動的に生成したものです。このファイルが生成される場所は、`schema.prisma`ファイルの`generator`セクションから変更できます。 |
| 続いて、[`PrismaClient#[テーブル名].create`メソッド](https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#create)を用いて、テーブルにレコードを作成してみましょう。 | ||
|
|
||
| ```javascript | ||
| import { PrismaClient } from "./generated/prisma/index.js"; |
|
|
||
|  | ||
|
|
||
| ## 演習問題 |
There was a problem hiding this comment.
package.jsonのtypeプロパティの値がmoduleではなく、commonjsになってしまっています。
現在の教材ではpackage.jsonを作成する際に、moduleを選ぶようにしています。
cf.
|
「Cookieと認証(発展)」の節でもPrismaを使用しているので、こちらも合わせて修正したいですね 👀 |
Prisma のバージョンを v7 にアップデート
自動生成ファイルが TypeScript ベースになったが、Node.js v22.18 のアップデートにより、問題なく使えるようになった。
https://nodejs.org/en/learn/typescript/run-natively