HEX
Server: Apache/2.4.63 (Unix)
System: Linux TOMS-220NAS 4.4.302+ #86009 SMP Wed Nov 26 18:19:17 CST 2025 x86_64
User: flavio87 (1026)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: //var/packages/CMS/target/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;