reposync/issue_sync/sql/tables.sql

69 lines
1.9 KiB
SQL

CREATE TABLE IF NOT EXISTS sync_config (
id VARCHAR(36) PRIMARY KEY,
source_platform VARCHAR(20),
source_owner VARCHAR(100),
source_repo VARCHAR(100),
source_token VARCHAR(100),
target_platform VARCHAR(20),
target_owner VARCHAR(100),
target_repo VARCHAR(100),
target_token VARCHAR(100),
sync_type VARCHAR(20),
sync_direction VARCHAR(20),
enabled BOOLEAN,
auto_sync BOOLEAN,
sync_interval INT
);
CREATE TABLE IF NOT EXISTS issue_mapping (
id INT AUTO_INCREMENT PRIMARY KEY,
source_platform VARCHAR(20),
source_repo VARCHAR(100),
source_issue_id VARCHAR(50),
target_platform VARCHAR(20),
target_repo VARCHAR(100),
target_issue_id VARCHAR(50),
last_sync_time DATETIME
);
CREATE TABLE IF NOT EXISTS pr_mapping (
id INT AUTO_INCREMENT PRIMARY KEY,
source_platform VARCHAR(20),
source_repo VARCHAR(100),
source_pr_id VARCHAR(50),
target_platform VARCHAR(20),
target_repo VARCHAR(100),
target_pr_id VARCHAR(50),
last_sync_time DATETIME
);
CREATE TABLE IF NOT EXISTS sync_log (
id INT AUTO_INCREMENT PRIMARY KEY,
sync_type VARCHAR(20),
source VARCHAR(100),
target VARCHAR(100),
status VARCHAR(20),
message TEXT,
timestamp DATETIME
);
-- 新增PR评论映射表
CREATE TABLE IF NOT EXISTS pr_comment_mapping (
id INT AUTO_INCREMENT PRIMARY KEY,
source_platform VARCHAR(20),
source_repo VARCHAR(100),
source_pr_id VARCHAR(50),
source_comment_id VARCHAR(50),
target_platform VARCHAR(20),
target_repo VARCHAR(100),
target_pr_id VARCHAR(50),
target_comment_id VARCHAR(50),
comment_body TEXT,
commit_id VARCHAR(100),
path VARCHAR(255),
position INT,
last_sync_time DATETIME,
INDEX(source_platform, source_repo, source_pr_id),
INDEX(target_platform, target_repo, target_pr_id)
);