Skip to content

Commit

Permalink
Merge pull request #19 from orekyuu/add-repository-table
Browse files Browse the repository at this point in the history
リポジトリ登録用のテーブルを用意
  • Loading branch information
orekyuu committed Sep 28, 2018
2 parents 5ded01a + b06c7aa commit 12ec963
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/main/resources/db/migration/V3__create_repositories.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CREATE TABLE repositories
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(512) NOT NULL,
owner int NOT NULL,
japanese_contribute boolean DEFAULT false NOT NULL,
cla_required boolean DEFAULT false NOT NULL,
registered_at datetime NOT NULL,
CONSTRAINT repositories_accounts_id_fk FOREIGN KEY (owner) REFERENCES accounts (id)
);
7 changes: 7 additions & 0 deletions src/main/resources/db/migration/V4__create_languages.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- 選択可能なプログラミング言語のマスタ
CREATE TABLE languages
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(512) NOT NULL
);
CREATE UNIQUE INDEX languages_name_uindex ON languages (name);
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-- リポジトリの区分
CREATE TABLE repository_types
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(512) NOT NULL
);
CREATE UNIQUE INDEX repository_type_name_uindex
ON repository_types (name);
7 changes: 7 additions & 0 deletions src/main/resources/db/migration/V6__create_frameworks.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- フレームワーク・ライブラリの種類
CREATE TABLE frameworks
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(512) NOT NULL
);
CREATE UNIQUE INDEX frameworks_name_uindex ON frameworks (name);
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
-- repositoriesとlanguagesの中間テーブル
CREATE TABLE repository_languages
(
repository_id int NOT NULL,
language_id int NOT NULL,
CONSTRAINT repository_languages_repository_id_language_id_pk PRIMARY KEY (repository_id, language_id),
CONSTRAINT repository_languages_repositories_id_fk FOREIGN KEY (repository_id) REFERENCES repositories (id),
CONSTRAINT repository_languages_languages_id_fk FOREIGN KEY (language_id) REFERENCES languages (id)
);

-- repositoriesとframeworkの中間テーブル
CREATE TABLE repository_frameworks
(
repository_id int NOT NULL,
framework_id int NOT NULL,
CONSTRAINT repository_frameworks_repository_id_framework_id_pk PRIMARY KEY (repository_id, framework_id),
CONSTRAINT repository_frameworks_repositories_id_fk FOREIGN KEY (repository_id) REFERENCES repositories (id),
CONSTRAINT repository_frameworks_frameworks_id_fk FOREIGN KEY (framework_id) REFERENCES frameworks (id)
);

-- repositoriesにrepository_typeのリレーションを追加
ALTER TABLE repositories ADD repository_type_id int NOT NULL;
ALTER TABLE repositories ADD CONSTRAINT repositories_repository_types_id_fk FOREIGN KEY (repository_type_id) REFERENCES repository_types (id);

0 comments on commit 12ec963

Please sign in to comment.