Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions mysql/migrations/000003_create_sponsorship_activities.up.sql
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
-- テーブル作成: sponsorship_activities
CREATE TABLE IF NOT EXISTS sponsorship_activities (
id INT AUTO_INCREMENT PRIMARY KEY,
year_periods_id INT NOT NULL COMMENT '年度期間ID',
sponsor_id INT NOT NULL COMMENT '企業ID',
user_id INT NOT NULL COMMENT '担当者ID',
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
year_periods_id INT UNSIGNED NOT NULL COMMENT '年度期間ID',
sponsor_id INT UNSIGNED NOT NULL COMMENT '企業ID',
user_id INT UNSIGNED NOT NULL COMMENT '担当者ID',
activity_status ENUM(
'unstarted',
'material_sent',
Expand All @@ -28,20 +28,19 @@ CREATE TABLE IF NOT EXISTS sponsorship_activities (
remarks TEXT COMMENT '備考',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (sponsor_id) REFERENCES sponsors(id),
FOREIGN KEY (user_id) REFERENCES users(id)
-- year_periodsテーブルがあるなら外部キー推奨
-- FOREIGN KEY (year_periods_id) REFERENCES year_periods(id)
FOREIGN KEY (year_periods_id) REFERENCES year_periods(id) ON DELETE CASCADE,
FOREIGN KEY (sponsor_id) REFERENCES sponsors(id) ON DELETE CASCADE,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- テーブル作成: activity_sponsor_style_links (中間テーブル)
CREATE TABLE IF NOT EXISTS activity_sponsor_style_links (
id INT AUTO_INCREMENT PRIMARY KEY,
sponsorship_activity_id INT NOT NULL,
sponsor_style_id INT NOT NULL,
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
sponsorship_activity_id INT UNSIGNED NOT NULL,
sponsor_style_id INT UNSIGNED NOT NULL,
category ENUM('money', 'goods') NOT NULL DEFAULT 'money' COMMENT '金銭/物品',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (sponsorship_activity_id) REFERENCES sponsorship_activities(id) ON DELETE CASCADE,
FOREIGN KEY (sponsor_style_id) REFERENCES sponsor_styles(id)
FOREIGN KEY (sponsor_style_id) REFERENCES sponsor_styles(id) ON DELETE CASCADE
);