| -- Licensed to the Apache Software Foundation (ASF) under one or more |
| -- contributor license agreements. See the NOTICE file distributed with |
| -- this work for additional information regarding copyright ownership. |
| -- The ASF licenses this file to You under the Apache License, Version 2.0 |
| -- (the "License"); you may not use this file except in compliance with |
| -- the License. You may obtain a copy of the License at |
| -- |
| -- http://www.apache.org/licenses/LICENSE-2.0 |
| -- |
| -- Unless required by applicable law or agreed to in writing, software |
| -- distributed under the License is distributed on an "AS IS" BASIS, |
| -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| -- See the License for the specific language governing permissions and |
| -- limitations under the License. |
| |
| /* add datamask_options column in x_access_type_def table if not exist */ |
| drop procedure if exists add_datamask_options_to_x_access_type_def_table; |
| delimiter ;; |
| create procedure add_datamask_options_to_x_access_type_def_table() begin |
| |
| if exists (select * from information_schema.columns where table_schema=database() and table_name = 'x_access_type_def') then |
| if not exists (select * from information_schema.columns where table_schema=database() and table_name = 'x_access_type_def' and column_name = 'datamask_options') then |
| ALTER TABLE `x_access_type_def` ADD `datamask_options` varchar(1024) NULL DEFAULT NULL; |
| end if; |
| if not exists (select * from information_schema.columns where table_schema=database() and table_name = 'x_access_type_def' and column_name = 'rowfilter_options') then |
| ALTER TABLE `x_access_type_def` ADD `rowfilter_options` varchar(1024) NULL DEFAULT NULL; |
| end if; |
| end if; |
| end;; |
| |
| delimiter ; |
| call add_datamask_options_to_x_access_type_def_table(); |
| drop procedure if exists add_datamask_options_to_x_access_type_def_table; |
| |
| /* add datamask_options column in x_resource_def table if not exist */ |
| drop procedure if exists add_datamask_options_to_x_resource_def_table; |
| delimiter ;; |
| create procedure add_datamask_options_to_x_resource_def_table() begin |
| |
| if exists (select * from information_schema.columns where table_schema=database() and table_name = 'x_resource_def') then |
| if not exists (select * from information_schema.columns where table_schema=database() and table_name = 'x_resource_def' and column_name = 'datamask_options') then |
| ALTER TABLE `x_resource_def` ADD `datamask_options` varchar(1024) NULL DEFAULT NULL; |
| end if; |
| if not exists (select * from information_schema.columns where table_schema=database() and table_name = 'x_resource_def' and column_name = 'rowfilter_options') then |
| ALTER TABLE `x_resource_def` ADD `rowfilter_options` varchar(1024) NULL DEFAULT NULL; |
| end if; |
| end if; |
| end;; |
| |
| delimiter ; |
| call add_datamask_options_to_x_resource_def_table(); |
| drop procedure if exists add_datamask_options_to_x_resource_def_table; |
| |
| DROP TABLE IF EXISTS `x_policy_item_rowfilter`; |
| DROP TABLE IF EXISTS `x_policy_item_datamask`; |
| DROP TABLE IF EXISTS `x_datamask_type_def`; |
| CREATE TABLE `x_datamask_type_def` ( |
| `id` bigint(20) NOT NULL AUTO_INCREMENT , |
| `guid` varchar(64) NULL DEFAULT NULL, |
| `create_time` datetime NULL DEFAULT NULL, |
| `update_time` datetime NULL DEFAULT NULL, |
| `added_by_id` bigint(20) NULL DEFAULT NULL, |
| `upd_by_id` bigint(20) NULL DEFAULT NULL, |
| `def_id` bigint(20) NOT NULL, |
| `item_id` bigint(20) NOT NULL, |
| `name` varchar(1024) NOT NULL, |
| `label` varchar(1024) NOT NULL, |
| `description` varchar(1024) NULL DEFAULT NULL, |
| `transformer` varchar(1024) NULL DEFAULT NULL, |
| `datamask_options` varchar(1024) NULL DEFAULT NULL, |
| `rb_key_label` varchar(1024) NULL DEFAULT NULL, |
| `rb_key_description` varchar(1024) DEFAULT NULL, |
| `sort_order` int DEFAULT 0, |
| primary key (`id`), |
| CONSTRAINT `x_datamask_type_def_FK_def_id` FOREIGN KEY (`def_id`) REFERENCES `x_service_def` (`id`) , |
| CONSTRAINT `x_datamask_type_def_FK_added_by_id` FOREIGN KEY (`added_by_id`) REFERENCES `x_portal_user` (`id`), |
| CONSTRAINT `x_datamask_type_def_FK_upd_by_id` FOREIGN KEY (`upd_by_id`) REFERENCES `x_portal_user` (`id`) |
| )ROW_FORMAT=DYNAMIC; |
| CREATE INDEX x_datamask_type_def_IDX_def_id ON x_datamask_type_def(def_id); |
| |
| CREATE TABLE `x_policy_item_datamask` ( |
| `id` bigint(20) NOT NULL AUTO_INCREMENT , |
| `guid` varchar(64) NULL DEFAULT NULL, |
| `create_time` datetime NULL DEFAULT NULL, |
| `update_time` datetime NULL DEFAULT NULL, |
| `added_by_id` bigint(20) NULL DEFAULT NULL, |
| `upd_by_id` bigint(20) NULL DEFAULT NULL, |
| `policy_item_id` bigint(20) NOT NULL, |
| `type` bigint(20) NOT NULL, |
| `condition_expr` varchar(1024) NULL DEFAULT NULL, |
| `value_expr` varchar(1024) NULL DEFAULT NULL, |
| primary key (id), |
| CONSTRAINT `x_policy_item_datamask_FK_policy_item_id` FOREIGN KEY (`policy_item_id`) REFERENCES `x_policy_item` (`id`) , |
| CONSTRAINT `x_policy_item_datamask_FK_type` FOREIGN KEY (`type`) REFERENCES `x_datamask_type_def` (`id`), |
| CONSTRAINT `x_policy_item_datamask_FK_added_by_id` FOREIGN KEY (`added_by_id`) REFERENCES `x_portal_user` (`id`), |
| CONSTRAINT `x_policy_item_datamask_FK_upd_by_id` FOREIGN KEY (`upd_by_id`) REFERENCES `x_portal_user` (`id`) |
| )ROW_FORMAT=DYNAMIC; |
| CREATE INDEX x_policy_item_datamask_IDX_policy_item_id ON x_policy_item_datamask(policy_item_id); |
| |
| CREATE TABLE `x_policy_item_rowfilter` ( |
| `id` bigint(20) NOT NULL AUTO_INCREMENT , |
| `guid` varchar(64) NULL DEFAULT NULL, |
| `create_time` datetime NULL DEFAULT NULL, |
| `update_time` datetime NULL DEFAULT NULL, |
| `added_by_id` bigint(20) NULL DEFAULT NULL, |
| `upd_by_id` bigint(20) NULL DEFAULT NULL, |
| `policy_item_id` bigint(20) NOT NULL, |
| `filter_expr` varchar(1024) NULL DEFAULT NULL, |
| primary key (id), |
| CONSTRAINT `x_policy_item_rowfilter_FK_policy_item_id` FOREIGN KEY (`policy_item_id`) REFERENCES `x_policy_item` (`id`) , |
| CONSTRAINT `x_policy_item_rowfilter_FK_added_by_id` FOREIGN KEY (`added_by_id`) REFERENCES `x_portal_user` (`id`), |
| CONSTRAINT `x_policy_item_rowfilter_FK_upd_by_id` FOREIGN KEY (`upd_by_id`) REFERENCES `x_portal_user` (`id`) |
| )ROW_FORMAT=DYNAMIC; |
| CREATE INDEX x_policy_item_rowfilter_IDX_policy_item_id ON x_policy_item_rowfilter(policy_item_id); |