Skip to main content
Version: 2.3.0-Legacy

Dict Management

Explanation#

  • Dictionary management is primarily used to maintain and manage common data dictionaries.

Table design#

  • sql
CREATE TABLE IF NOT EXISTS `soul_dict` (   `id` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'primary key id',   `type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'type',   `dict_code` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'dictionary encoding',   `dict_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'dictionary name',   `dict_value` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'dictionary value',   `desc` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'dictionary description or remarks',   `sort` int(4) NOT NULL COMMENT 'sort',   `enabled` tinyint(4) DEFAULT NULL COMMENT 'whether it is enabled',   `date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'create time',   `date_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'update time',   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  • The current usage scenario is when the plugin handle configuring the data_type=3 (select box)

eg. degradeRuleGrade is one of fields of sentinel's handle json

When it adds rules, it automatically looks up all the general dictionaries of type='degradeRuleGrade' in the soul_dict table as a select-box when you edit the General rules field