File: //proc/25635/root/volume1/@appstore/CMS/scripts/sql/create_table.sql
PRAGMA page_size = 4096;
PRAGMA journal_mode = WAL;
BEGIN;
PRAGMA auto_vacuum = FULL;
CREATE TABLE if not exists gpo (id INTEGER PRIMARY KEY ASC, mtime INTEGER, name TEXT, desc TEXT, parent_id INTEGER, parent_type INTEGER, setting TEXT, extra_info TEXT, pid INTEGER);
CREATE TABLE if not exists ou (id INTEGER PRIMARY KEY ASC, mtime INTEGER, name TEXT, desc TEXT, parent_id INTEGER, block_inheritance INTEGER, linked_gpo TEXT, extra_info TEXT, pid INTEGER);
CREATE TABLE if not exists ds (
id INTEGER PRIMARY KEY ASC,
mtime INTEGER,
desc TEXT,
sn TEXT,
model TEXT,
version TEXT,
buildnum INTEGER,
smallfixnum INTEGER,
hostname TEXT,
host TEXT,
sid TEXT,
syno_token TEXT,
status INTEGER,
status_by_server INTEGER,
status_by_server_mtime INTEGER,
wol INTEGER,
up_time INTEGER,
uptime_mtime INTEGER,
http_port INTEGER,
https_port INTEGER,
parent_id INTEGER,
block_inheritance INTEGER,
linked_gpo TEXT,
gluster_role INTEGER,
extra_info TEXT,
quickconnect TEXT DEFAULT '',
UNIQUE(sn) ON CONFLICT REPLACE
);
CREATE TABLE if not exists delegate (id INTEGER PRIMARY KEY ASC, mtime INTEGER, user_type INTEGER, ugid INTEGER, target_type INTEGER, target_id INTEGER, extra_info TEXT, pid INTEGER);
CREATE TABLE if not exists package (
id INTEGER PRIMARY KEY ASC,
mtime INTEGER,
ds_id INTEGER NOT NULL,
pkg_id TEXT NOT NULL,
pkg_name_enu TEXT NOT NULL,
pkg_name_cht TEXT,
pkg_name_chs TEXT,
pkg_name_krn TEXT,
pkg_name_ger TEXT,
pkg_name_fre TEXT,
pkg_name_ita TEXT,
pkg_name_spn TEXT,
pkg_name_jpn TEXT,
pkg_name_dan TEXT,
pkg_name_nor TEXT,
pkg_name_sve TEXT,
pkg_name_nld TEXT,
pkg_name_rus TEXT,
pkg_name_plk TEXT,
pkg_name_ptb TEXT,
pkg_name_ptg TEXT,
pkg_name_hun TEXT,
pkg_name_trk TEXT,
pkg_name_csy TEXT,
pkg_name_tha TEXT,
pkg_desc_enu TEXT,
pkg_desc_cht TEXT,
pkg_desc_chs TEXT,
pkg_desc_krn TEXT,
pkg_desc_ger TEXT,
pkg_desc_fre TEXT,
pkg_desc_ita TEXT,
pkg_desc_spn TEXT,
pkg_desc_jpn TEXT,
pkg_desc_dan TEXT,
pkg_desc_nor TEXT,
pkg_desc_sve TEXT,
pkg_desc_nld TEXT,
pkg_desc_rus TEXT,
pkg_desc_plk TEXT,
pkg_desc_ptb TEXT,
pkg_desc_ptg TEXT,
pkg_desc_hun TEXT,
pkg_desc_trk TEXT,
pkg_desc_csy TEXT,
pkg_desc_tha TEXT,
pkg_version TEXT NOT NULL,
pkg_new_version TEXT,
beta BOOLEAN,
startable BOOLEAN,
pkg_status INTEGER,
pkg_install_status INTEGER,
install_dependent_packages TEXT,
install_conflict_packages TEXT,
install_type TEXT,
silent_install INTEGER,
silent_upgrade INTEGER,
silent_uninstall INTEGER,
upgradable BOOLEAN,
upgradable_mtime INTEGER DEFAULT 0,
filter TEXT,
extra_info TEXT,
UNIQUE(ds_id, pkg_id) ON CONFLICT REPLACE,
CONSTRAINT pkg_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
CREATE TABLE if not exists app (
id INTEGER PRIMARY KEY ASC,
mtime INTEGER,
ds_id INTEGER NOT NULL,
app_id TEXT NOT NULL,
name_enu TEXT NOT NULL,
name_cht TEXT,
name_chs TEXT,
name_krn TEXT,
name_ger TEXT,
name_fre TEXT,
name_ita TEXT,
name_spn TEXT,
name_jpn TEXT,
name_dan TEXT,
name_nor TEXT,
name_sve TEXT,
name_nld TEXT,
name_rus TEXT,
name_plk TEXT,
name_ptb TEXT,
name_ptg TEXT,
name_hun TEXT,
name_trk TEXT,
name_csy TEXT,
name_tha TEXT,
app_version TEXT NOT NULL,
icon_mtime INTEGER,
protocol TEXT DEFAULT '',
port int DEFAULT 0,
url TEXT DEFAULT '',
windowparam TEXT DEFAULT '',
is_package int DEFAULT 0,
extra_info TEXT DEFAULT '',
UNIQUE(ds_id, app_id) ON CONFLICT REPLACE,
CONSTRAINT app_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
CREATE TABLE if not exists info (
id INTEGER PRIMARY KEY ASC,
mtime INTEGER,
ds_id INTEGER NOT NULL,
general TEXT DEFAULT '',
network TEXT DEFAULT '',
connection TEXT DEFAULT '',
hdd_info TEXT DEFAULT '',
vol_info TEXT DEFAULT '',
session TEXT DEFAULT '',
define TEXT DEFAULT '',
extra_info TEXT DEFAULT '',
UNIQUE(ds_id) ON CONFLICT REPLACE,
CONSTRAINT info_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
INSERT into ou(id, name, desc, parent_id, block_inheritance, linked_gpo) VALUES (0, 'SYNO.SDS.CMS._T("gpo_tree","root_ou")', 'SYNO.SDS.CMS._T("gpo_tree","root_ou")', -1, 0, "{}");
CREATE TABLE if not exists share_info (
name TEXT,
description TEXT,
vol_id TEXT,
hidden INTEGER,
mtime INTEGER,
ds_id INTEGER NOT NULL,
display_vol_name TEXT DEFAULT '',
extra_info TEXT DEFAULT '',
vol_num_id INTEGER DEFAULT 0,
UNIQUE(ds_id, name) ON CONFLICT REPLACE,
CONSTRAINT share_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
CREATE TABLE if not exists vol_info (
name TEXT,
status TEXT,
raid_type TEXT,
pool_path TEXT,
size_total INTEGER,
size_used INTEGER,
mtime INTEGER,
ds_id INTEGER NOT NULL,
num_id INTEGER DEFAULT 0,
UNIQUE(ds_id, name) ON CONFLICT REPLACE,
CONSTRAINT vol_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
CREATE TABLE if not exists dg_info (
name TEXT,
status TEXT,
raid_type TEXT,
size_total INTEGER,
size_used INTEGER,
mtime INTEGER,
ds_id INTEGER NOT NULL,
UNIQUE(ds_id, name) ON CONFLICT REPLACE,
CONSTRAINT vol_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
CREATE TABLE if not exists hdd_info (
name TEXT,
dev TEXT,
status TEXT,
smart_status TEXT,
model TEXT,
bus TEXT,
used_by TEXT,
disk_type TEXT,
ctn_name TEXT,
ctn_type TEXT,
temp INTEGER,
size_total INTEGER,
mtime INTEGER,
ds_id INTEGER NOT NULL,
summary_status_category TEXT DEFAULT '',
summary_status_key TEXT DEFAULT '',
i18n_name TEXT,
compatibility TEXT DEFAULT '',
hide_info TEXT DEFAULT '',
ctn_id INTEGER DEFAULT 0,
num_id INTEGER DEFAULT 0,
UNIQUE(ds_id, name) ON CONFLICT REPLACE,
CONSTRAINT vol_fkey FOREIGN KEY (ds_id)
REFERENCES ds (id)
);
CREATE TABLE if not exists service (
ds_id INTEGER,
name TEXT,
status TEXT,
UNIQUE(name, ds_id) ON CONFLICT REPLACE, -- Note: the (name, ...) implicit index is used by SELECT statements (this is non essential)
CONSTRAINT service_fkey FOREIGN KEY (ds_id) REFERENCES ds (id)
);
DROP TRIGGER IF EXISTS on_delete_trigger;
CREATE TRIGGER on_delete_trigger
AFTER DELETE ON ds
BEGIN
DELETE FROM package WHERE ds_id=old.id;
DELETE FROM app WHERE ds_id=old.id;
DELETE FROM info WHERE ds_id=old.id;
DELETE FROM share_info WHERE ds_id=old.id;
DELETE FROM vol_info WHERE ds_id=old.id;
DELETE FROM dg_info WHERE ds_id=old.id;
DELETE FROM hdd_info WHERE ds_id=old.id;
DELETE FROM service WHERE ds_id=old.id;
END;
COMMIT;