Files
memora/memora-api/sql/init.sql

38 lines
1.7 KiB
SQL

-- 初始化数据库
CREATE DATABASE IF NOT EXISTS memora DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE memora;
-- 标准单词表
CREATE TABLE IF NOT EXISTS words (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
word VARCHAR(100) NOT NULL UNIQUE COMMENT '单词',
phonetic_uk VARCHAR(255) COMMENT '英式音标',
phonetic_us VARCHAR(255) COMMENT '美式音标',
audio_uk VARCHAR(500) COMMENT '英式音频文件路径',
audio_us VARCHAR(500) COMMENT '美式音频文件路径',
part_of_speech VARCHAR(50) COMMENT '词性',
definition TEXT COMMENT '标准释义',
example_sentence TEXT COMMENT '例句',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_word (word)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 记忆记录表
CREATE TABLE IF NOT EXISTS memory_records (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
word_id BIGINT NOT NULL COMMENT '关联words表',
user_id BIGINT DEFAULT 1 COMMENT '用户ID',
correct_count INT DEFAULT 0 COMMENT '正确次数',
total_count INT DEFAULT 0 COMMENT '总复习次数',
mastery_level INT DEFAULT 0 COMMENT '掌握程度 0-5',
last_reviewed_at TIMESTAMP NULL COMMENT '上次复习时间',
next_review_at TIMESTAMP NULL COMMENT '下次复习时间',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_word_id (word_id),
INDEX idx_user_id (user_id),
INDEX idx_next_review (next_review_at),
FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;