Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arafipro/stock-trade-api-relation

【Cloudflare Workers】Bun+HonoでREST APIを作成③ drizzleを使ってデータベースのリレーションを実現!!
https://github.com/arafipro/stock-trade-api-relation

bun cloudflare cloudflare-d1 cloudflare-workers drizzle-orm hono typescript youtube zod

Last synced: 13 days ago
JSON representation

【Cloudflare Workers】Bun+HonoでREST APIを作成③ drizzleを使ってデータベースのリレーションを実現!!

Awesome Lists containing this project

README

        

# 【Cloudflare Workers】Bun+HonoでREST APIを作成③ drizzleを使ってデータベースのリレーションを実現!!

## YouTube

[!["【Cloudflare Workers】Bun+HonoでREST APIを作成③ drizzleを使ってデータベースのリレーションを実現!!"](https://i.ytimg.com/vi/oVF_WaLQnUw/maxresdefault.jpg)](https://youtu.be/oVF_WaLQnUw)

## 技術選定

- Bun
- TypeScript
- Hono
- Drizzle
- Zod
- Cloudflare Workers
- Cloudflare D1

## 初期設定

### NodeModule をインストール

```bash
bun install
```

### データベースを作成

```bash
npx wrangler d1 create stock-trade-db
```

### wrangler.toml に追記

```toml
[[d1_databases]]
binding = "DB"
database_name = "stock-trade-db"
database_id = ""
```

``はデータベースを作成したときに出力されるID

### テーブルのスキーマを作成

```bash
npx drizzle-kit generate
```

### ローカルデータベースにテーブルを作成

```bash
npx wrangler d1 migrations apply stock-trade-db --local
```

### リモートデータベースにテーブルを作成

```bash
npx wrangler d1 migrations apply stock-trade-db --remote
```

### ローカルデータベースにダミーデータを登録

```bash
npx wrangler d1 execute stock-trade-db --local --file=./drizzle/dummy-data.sql
```

### リモートデータベースにダミーデータを登録

```bash
npx wrangler d1 execute stock-trade-db --remote --file=./drizzle/dummy-data.sql
```

## テーブル

### テーブル名 stock_table

| カラム名 | データ型 | 主キー | 備考 |
| ---------- | -------- | :----: | ---------- |
| code | text | ○ | 証券コード |
| stock_name | text | | 銘柄名 |
| market | text |   | 市場 |

### テーブル名 trade_table

| カラム名 | データ型 | 主キー | 備考 |
| ------------ | -------- | :----: | ---------- |
| id | integer | ○ | ID |
| code | integer | | 証券コード |
| shares | integer | | 株数 |
| price | real | | 株価 |
| buy_sell | text | | 売買 |
| trading_date | text | | 取引日時 |