use dnake;
set charset utf8;

update users set gid=1 where user='admin';

drop table devices;
CREATE TABLE IF NOT EXISTS `devices` (
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`user` VARCHAR(64) NOT NULL,
	`idx` INT DEFAULT 0, -- 设备编号: 主副机编号 0:主 1-N:副
	`url` VARCHAR(128), -- 设备心跳URL
	`proxy_url` VARCHAR(128), -- 服务器访问URL
	`proxy_ok` INT, -- 是否注册服务器
	`heartbeat` DATETIME, -- 最后一次心跳时间
	CONSTRAINT c_user_idx UNIQUE KEY idx_user_idx (`user`, `idx`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `ad_wakeup` ( -- 广告唤醒
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`name` VARCHAR(128) NOT NULL, -- 名称
	`timeout` INT DEFAULT 300, -- 播放时间
	`store` INT DEFAULT 0, -- 广告编号
	`url` VARCHAR(512) NOT NULL, -- 广告链接
	`ts` DATETIME -- 唤醒时间
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

drop table access_auth;
CREATE TABLE IF NOT EXISTS `access_auth` ( -- 刷卡授权
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`card` VARCHAR(64) NOT NULL, -- 卡号
	`user` VARCHAR(64) NOT NULL, -- 设备
	`auth` INT DEFAULT 0, -- 授权或删除
	`done` INT DEFAULT 0, -- 已下发
	`ts` DATETIME, -- 下发时间
	CONSTRAINT c_card_user UNIQUE KEY idx_card_user (`card`, `user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `push_id` ( -- 推送ID对应表
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`user` VARCHAR(64) NOT NULL,
	`idx` INT DEFAULT 0, -- 设备编号: 主副机编号 0:主 1-N:副
	`sid` VARCHAR(128) NOT NULL UNIQUE KEY, -- 设备推送ID
	CONSTRAINT c_user_idx UNIQUE KEY idx_user_idx (`user`, `idx`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `settings` ( -- 设备配置信息
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`user` VARCHAR(64) NOT NULL, -- 设备ID
	`idx` INT DEFAULT 0, -- 设备编号
	`mac` VARCHAR(64) NOT NULL UNIQUE KEY, -- MAC地址

	`lan_ip` VARCHAR(64) NOT NULL UNIQUE KEY, -- IP地址
	`lan_mask` VARCHAR(64) NOT NULL, -- 子网掩码
	`lan_gateway` VARCHAR(64) NOT NULL, -- 默认网关
	`lan_dns` VARCHAR(64) NOT NULL,

	`sip_enable` INT DEFAULT 0, -- SIP启用
	`sip_proxy` VARCHAR(64), -- SIP服务器
	`sip_realm` VARCHAR(64), -- 设备域
	`sip_user` VARCHAR(64), -- SIP用户
	`sip_passwd` VARCHAR(64), -- SIP密码

	CONSTRAINT c_user_idx UNIQUE KEY idx_user_idx (`user`, `idx`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `patrol_device` ( -- 巡更路线设备
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`rid` INT, -- 路线编号
	`user` VARCHAR(64) NOT NULL, -- 设备
	CONSTRAINT c_user_rid UNIQUE KEY user_rid(`user`, `rid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `patrol_sched` ( -- 巡更时间段
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`rid` INT, -- 路线编号
	`name` VARCHAR(256) NOT NULL, -- 时间名称
	`start` VARCHAR(64) NOT NULL,
	`end` VARCHAR(64) NOT NULL,
	`cycle` INT DEFAULT 60 -- 巡更周期 分钟
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `patrol_user` ( -- 巡更人员
	`id` INT PRIMARY KEY AUTO_INCREMENT,
	`rid` INT, -- 路线编号
	`card` VARCHAR(64) NOT NULL, -- 卡号
	`format` INT, -- 格式 0:星期 1:日期
	`duty` VARCHAR(64) NOT NULL, -- 值班时间
	CONSTRAINT c_card_rid UNIQUE KEY card_rid(`card`, `rid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

alter table access_card add tel VARCHAR(64);
alter table access_card add timeout DATETIME;
alter table alarm_zone add constraint c_user_zone UNIQUE KEY (`user`, `zone`);
