기존
This commit is contained in:
22
db/schema.sql
Normal file
22
db/schema.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
-- 외래키 제약 조건 활성화
|
||||
-- 기본적으로 SQLite는 외래키 검사 안함 그래서 켜줘야 함
|
||||
PRAGMA foreign_keys = ON;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS guilds (
|
||||
id TEXT PRIMARY KEY, -- 길드 ID (전역 유일값)
|
||||
name TEXT NOT NULL, -- 길드 이름 (캐싱용)
|
||||
channel_id TEXT NOT NULL -- 채팅 ID
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
guild_id TEXT NOT NULL, -- 소속 길드 ID, guilds.id를 참조
|
||||
id TEXT NOT NULL, -- 유저 ID
|
||||
name TEXT NOT NULL, -- 유저 이름 (캐싱용)
|
||||
|
||||
-- 복합 기본키: 같은 길드 안에서 id는 중복 불가
|
||||
PRIMARY KEY (guild_id, id),
|
||||
|
||||
-- 외래키 설정: guilds.id를 참조
|
||||
-- 길드가 삭제되면 소속된 유저도 자동으로 삭제됨 (ON DELETE CASCADE)
|
||||
FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE
|
||||
);
|
||||
Reference in New Issue
Block a user