76 lines
3.1 KiB
SQL
76 lines
3.1 KiB
SQL
-- 初始化 kintone_license_server 数据库
|
|
|
|
-- 创建数据库(需要管理员权限运行,或手动创建后运行此脚本)
|
|
-- CREATE DATABASE kintone_license_server;
|
|
|
|
-- 连接到数据库
|
|
-- \c kintone_license_server;
|
|
|
|
-- 创建 plugins 表:存储插件信息
|
|
CREATE TABLE IF NOT EXISTS plugins (
|
|
id SERIAL PRIMARY KEY,
|
|
plugin_id VARCHAR(255) UNIQUE NOT NULL,
|
|
plugin_name VARCHAR(255) NOT NULL,
|
|
private_key TEXT NOT NULL,
|
|
trial_date INTEGER DEFAULT 30,
|
|
rsa_version INTEGER DEFAULT 1,
|
|
deleted BOOLEAN DEFAULT FALSE
|
|
);
|
|
|
|
-- 创建 customers 表:客户信息
|
|
CREATE TABLE IF NOT EXISTS customers (
|
|
id SERIAL PRIMARY KEY,
|
|
name VARCHAR(255),
|
|
email VARCHAR(255),
|
|
phone VARCHAR(50),
|
|
comment TEXT
|
|
);
|
|
|
|
-- 创建 licenses 表:许可证记录
|
|
CREATE TABLE IF NOT EXISTS licenses (
|
|
id SERIAL PRIMARY KEY,
|
|
domain VARCHAR(255) NOT NULL,
|
|
plugin_id VARCHAR(255) NOT NULL,
|
|
expired_time TIMESTAMPTZ NOT NULL,
|
|
purchase_date TIMESTAMPTZ,
|
|
plugin_fk INTEGER REFERENCES plugins(id),
|
|
customer_fk INTEGER REFERENCES customers(id),
|
|
message TEXT,
|
|
UNIQUE(domain, plugin_id) -- 确保每个 domain + plugin_id 组合唯一
|
|
);
|
|
|
|
-- 插入默认插件数据(使用现有的 RSA 私钥)
|
|
INSERT INTO plugins (plugin_id, plugin_name, private_key)
|
|
VALUES (
|
|
'kintone-vue-template',
|
|
'kintone Vue テンプレート',
|
|
'-----BEGIN PRIVATE KEY-----
|
|
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOAqDRabJn6vga
|
|
YXnWuYKPomQVNV0R0HPmuN1N4qo7OMDkFH2mln86w68/9/bHMb7TcVaFGxNblpe2
|
|
tIjr/u/XfnS2+NK6ckTWOhmPUrqLG6A3a4v49dymvFdfyjAYOCBTlKzrdQTjdFAX
|
|
5EUE007n/G+RxYiEAm0NXpVqa+aw/Yvm5+Lr7GrKpyamAAygu5jYDE3rateyfJ1h
|
|
P2fEXEqR4RPD5pgyKD+4ZVbygaYqAw4rZu4OOZ4QtPCtksSenn94Yx9UUlex3TNW
|
|
oTBrFp+8z9wjg+oF6/5Ai/PsXLDpbkIusnQo1yYvrULwaAHBvL6wgj1FOL+g6Tmp
|
|
P6MhU7EbAgMBAAECggEAAyia0vXQv0jPgAa26a9ozI9RWIU7xZOmy0anV1Peh0+X
|
|
SYf05efQez6tLQkTbA9xB73o9TEqlVC+8mqx32hxFffsOIf3zIBcWiqEN3nYaVya
|
|
6BlKiUkqa8C0guqkh80zKwTlt9XQpYokK5GblfeFcgd2pctbt1Ea30XFewm80kGH
|
|
OrHP4bi25KYkS+6PL5wUI+OqfaR/LsWevwt+cLlZPGmDDgE6+2Bvcg0JWnKKwk1k
|
|
jhKpSAek6zUkweaysxx1BscNBvGtDnRRRy0+2jMK66ad80Cg0G8xLQ/tu8kBwfml
|
|
T/9ViSRUjUrMdcfSVkrdOV3xAsOXdWspz1aljJAwcQKBgQDxebBimIBgUhNJ+2/9
|
|
27OQXsHLBYbqPurR4fKCM7a5qAIpXJcgth0YAuNvJT+rxEHTPypQCTF1fvvJuU+v
|
|
w1HjUz1CHzGYWdj0xibQDdtgkPlKqQQeT3Cnpwy3RkT4IF6FCH9YfKcUzYdamVZy
|
|
S8kFqLzEStwWIoaQX2HoBZLoUQKBgQDaZtZJoIHr+d0fLz+7rAoB8WEBA8lOaEhU
|
|
/OHwrUbuAez6k7zEDsTXgLuB8N34p1yMSaOqdGJ8rj3Pg8AlrXGELfXOF7Fe9zG0
|
|
LxujNmftmJKE8XTIALPpSBJgF5LDnh13LcNMd4b6w0DDjF7wCA2T3DTLjjqi3fo7
|
|
nDW9WQyTqwKBgEXlbXL8pZw75a1yhHY80/skEoBLt0OytpHODz407d1LjmSekng7
|
|
fqxmmaKga4+ynUMic4L7Rj+2Y/d+FlzP8rIUdBThpp9s0mn3uWBbwnZvQFmmFrUX
|
|
VYqRxhJ+2pPf+rwTO5lHa62P2HAXFni7CxMCRrGi4ZXepIjBsztP8bghAoGBAMj5
|
|
Bsmb1NJkDBGNNhWpm0/sYbpAVLc9CQqD5hnGKdYMmZh/6J11hbdVM7bAAlK1F1nU
|
|
zbGmBZb7888ISwGg2Cus61tpvANKb0eCbelDwGEIHBQP6Mm+s8/ATYB1UM2Hq0+n
|
|
Iec0ulX45JjNi/NPRcdBRKfnypdissi111HVJtifAoGADrT/t2j1bMHd1zY76Jv5
|
|
M/BWhOAgHwBo683ROEL3p6G98Xla2kd7hP6NEdo6OLJnlfK3RfoPWnotLZKEsfQM
|
|
Wog9GAcYtQbDDaYWxNBgyscSdVousY1EXs+t5vkt3XSIwUwLcEVJOu7/Fvt+YXpn
|
|
nR7aD8F62ARYxI+bv+bQR5w=
|
|
-----END PRIVATE KEY-----'
|
|
) ON CONFLICT (plugin_id) DO NOTHING;
|