-- 登录与权限系统迁移脚本（在已有库上执行一次）
-- 目标：
-- 1) 新增 users 表（管理员/普通用户）
-- 2) 新增 user_account_memberships 表（用户可访问哪些交易账号）
--
-- 执行前建议备份数据库。

USE `auto_trade_sys`;

CREATE TABLE IF NOT EXISTS `users` (
  `id` INT PRIMARY KEY AUTO_INCREMENT,
  `username` VARCHAR(64) NOT NULL,
  `password_hash` VARCHAR(255) NOT NULL,
  `role` VARCHAR(20) NOT NULL DEFAULT 'user' COMMENT 'admin, user',
  `status` VARCHAR(20) NOT NULL DEFAULT 'active' COMMENT 'active, disabled',
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='登录用户';

CREATE TABLE IF NOT EXISTS `user_account_memberships` (
  `id` INT PRIMARY KEY AUTO_INCREMENT,
  `user_id` INT NOT NULL,
  `account_id` INT NOT NULL,
  `role` VARCHAR(20) NOT NULL DEFAULT 'viewer' COMMENT 'owner, viewer',
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY `uk_user_account` (`user_id`, `account_id`),
  INDEX `idx_user_id` (`user_id`),
  INDEX `idx_account_id` (`account_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户-交易账号授权';

