データベースの作成

目次
  • 解説
  • 1. データベースの作成
  • 2. テーブルの作成
  • 3. 初期データの追加
進捗を変更する




解説

1. データベースの作成


次はDBを準備しましょう。

手順1

(1)環境設定』コース内の『Docker > PostgreSQL > DBの起動・停止手順』を参考にPostgreSQLを起動し、pgAdminにログインしてください。
(2)SQL』コース内の『データベースを作成しよう』を参考に「tweet_spring」という名前のDBを作成してください。

2. テーブルの作成


作成したDBにテーブルを作成しましょう。

手順2

(1)SQL』コース内の『テーブルを作成しよう』を参考に、下記のクエリを実行し、「users」テーブルと、「tweets」テーブルを作成してください。
手順1 で作成した「tweet_spring」データベースを対象としたクエリツールを新たに開き、クエリを実行してください。
-- usersテーブルを作成
CREATE TABLE users (
    id serial PRIMARY KEY,
    mail text NOT NULL UNIQUE,
    display_name text NOT NULL,
    pass text NOT NULL,
    profile text
);

-- tweetsテーブルを作成
CREATE TABLE tweets (
    id serial PRIMARY KEY,
    user_id integer NOT NULL REFERENCES users (id),
    post text NOT NULL,
    created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at timestamp
);

3. 初期データの追加


つぶやきアプリ開発で使用する、初期データを登録しましょう。

手順3

(1)SQL』コース内の『データを登録しよう』を参考に、下記のクエリを実行し、「users」テーブルと、「tweets」テーブルに初期データを登録してください。
-- usersテーブルに初期データを挿入
INSERT INTO users (mail, display_name, pass, profile) VALUES
    ('test@test.com', 'テストユーザー', '$2a$08$MJGhfDGUXacl9scG.9G6buHbXBIkOoXAwMamcKvAW9cQlmHQiwvfW', 'テストユーザーです、よろしくお願いします。'),
    ('yamada@test.com', '山田一郎', '$2a$08$9Vcw8B6VgEFSbmWp2tn6ne/SUzlQcv02v1oBSpjgQQGgdYFUbmtW2', '山田一郎と申します!よろしくお願いします!'),
    ('tanaka@test.com', '田中花子', '$2a$08$6xIdRhPrwiia6uLSCGdlLeZFTt.Ma1AR.0SPZ5hAoklIBmn9ZZVty', 'つぶやきアプリはじめました、よろしくお願いします。');

-- tweetsテーブルに初期データを挿入
INSERT INTO tweets (user_id, post, created_at, updated_at) VALUES
    (1, 'こんにちは、テストユーザーです。', CURRENT_TIMESTAMP - INTERVAL '4 MINUTES', CURRENT_TIMESTAMP - INTERVAL '1 MINUTES'),
    (2, 'はじめまして、山田一郎です!', CURRENT_TIMESTAMP - INTERVAL '3 MINUTES', NULL),
    (3, '田中花子です、よろしくお願いします。', CURRENT_TIMESTAMP - INTERVAL '2 MINUTES', NULL);

完了したら、正しくデータが登録されているか確認しておきましょう。

※passwordカラムの初期データが、英数字を羅列したものになっていますが、これは後のページで解説します。