Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
20 lines
947 B
SQL
20 lines
947 B
SQL
-- 게이트웨이 사용자 계정과 메일함 분리.
|
|
-- www 관리자 계정은 계속 www DB 로 인증하며(별칭 admin 포함), 여기 계정은 관리자가 만드는 추가 사용자입니다.
|
|
CREATE TABLE mail_users (
|
|
id TEXT PRIMARY KEY,
|
|
login TEXT NOT NULL UNIQUE,
|
|
name TEXT NOT NULL DEFAULT '',
|
|
mailbox TEXT NOT NULL,
|
|
role TEXT NOT NULL DEFAULT 'user' CHECK(role IN ('admin','user')),
|
|
status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','suspended')),
|
|
password_hash TEXT NOT NULL,
|
|
created_by TEXT,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
last_login_at TEXT
|
|
);
|
|
CREATE INDEX mail_users_mailbox ON mail_users(mailbox);
|
|
-- 메시지가 속한 메일함 주소. 기존 메시지는 기본 메일함(admin@arihakdang.com)입니다.
|
|
ALTER TABLE messages ADD COLUMN mailbox TEXT NOT NULL DEFAULT 'admin@arihakdang.com';
|
|
CREATE INDEX messages_mailbox_folder ON messages(mailbox, folder, received_at DESC);
|