-- 创建相册表 CREATE TABLE IF NOT EXISTS albums ( id TEXT PRIMARY KEY, title TEXT NOT NULL, document TEXT NOT NULL, description TEXT, cover_image_id TEXT, image_count INTEGER NOT NULL DEFAULT 0, -- 新增图片数量字段 created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL ); -- 创建图片表 CREATE TABLE IF NOT EXISTS images ( id TEXT PRIMARY KEY, album_id TEXT NOT NULL, filename TEXT NOT NULL, original_url TEXT, title TEXT, description TEXT, file_size INTEGER NOT NULL, width INTEGER NOT NULL, height INTEGER NOT NULL, mime_type TEXT NOT NULL, created_at DATETIME NOT NULL, FOREIGN KEY (album_id) REFERENCES albums(id) ON DELETE CASCADE ); -- 创建收藏表 CREATE TABLE IF NOT EXISTS favorites ( id TEXT PRIMARY KEY, user_id TEXT NOT NULL, image_id TEXT NOT NULL, album_id TEXT NOT NULL, created_at DATETIME NOT NULL, FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE, FOREIGN KEY (album_id) REFERENCES albums(id) ON DELETE CASCADE ); -- 创建索引以提高查询性能 CREATE INDEX IF NOT EXISTS idx_albums_created_at ON albums(created_at); CREATE INDEX IF NOT EXISTS idx_images_album_id ON images(album_id); CREATE INDEX IF NOT EXISTS idx_images_created_at ON images(created_at); CREATE INDEX IF NOT EXISTS idx_albums_title ON albums(title); CREATE INDEX IF NOT EXISTS idx_favorites_user_id ON favorites(user_id); CREATE INDEX IF NOT EXISTS idx_favorites_image_id ON favorites(image_id); CREATE INDEX IF NOT EXISTS idx_favorites_album_id ON favorites(album_id); CREATE UNIQUE INDEX IF NOT EXISTS idx_favorites_user_image ON favorites(user_id, image_id);