modules/widget_system/widget_repository/doc/tables_overview.md
CREATE TABLE widget(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(64) NOT NULL UNIQUE,
path TEXT NOT NULL,
is_abstract INTEGER NOT NULL DEFAULT 0,
is_private INTEGER NOT NULL DEFAULT 0,
deprecated INTEGER DEFAULT 0,
family INTEGER NOT NULL,
lever FLOAT(2) NOT NULL,
linkWidget TEXT DEFAULT ''
);
CREATE TABLE widget_inheritance (
id INTEGER PRIMARY KEY AUTOINCREMENT,
widget_id INTEGER NOT NULL,
parent_name TEXT NOT NULL,
inheritance_order INTEGER NOT NULL
);
CREATE TABLE widget_fields (
id INTEGER PRIMARY KEY AUTOINCREMENT,
widget_id INTEGER NOT NULL,
field_name TEXT NOT NULL,
field_type TEXT NOT NULL,
field_desc TEXT,
field_desc_zh TEXT,
field_order INTEGER NOT NULL,
is_required INTEGER NOT NULL DEFAULT 0
);
CREATE TABLE widget_desc(
id INTEGER PRIMARY KEY AUTOINCREMENT,
widget_id INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
info TEXT NOT NULL,
locale VARCHAR(16) DEFAULT 'zh-cn'
);
CREATE TABLE node(
id INTEGER PRIMARY KEY AUTOINCREMENT,
widgetId INTEGER NOT NULL,
priority INTEGER DEFAULT 0,
code TEXT NOT NULL
);
CREATE TABLE node_desc(
id INTEGER PRIMARY KEY AUTOINCREMENT,
node_id INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
subtitle TEXT NOT NULL,
locale VARCHAR(16) DEFAULT 'zh-cn'
);
CREATE TABLE category(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(64) NOT NULL UNIQUE,
type INTEGER DEFAULT 0,
color VARCHAR(9) DEFAULT '#FF2196F3',
info VARCHAR(256) DEFAULT '这里什么都没有...',
created DATETIME NOT NULL,
updated DATETIME NOT NULL,
priority INTEGER DEFAULT 0,
image VARCHAR(128) DEFAULT ''
);
CREATE TABLE category_widget(
id INTEGER PRIMARY KEY AUTOINCREMENT,
categoryId INTEGER NOT NULL,
widgetId INTEGER NOT NULL
);
widget (1) ←→ (N) widget_inheritance
widget (1) ←→ (N) widget_fields
widget (1) ←→ (N) widget_desc
widget (1) ←→ (N) node
node (1) ←→ (N) node_desc
widget (N) ←→ (N) category [through category_widget]