wip mifosx-195 - updated report related ddl and data
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
Reason for all the tmp tables and renames is had mysql problems with foreign keys doing alter table commands
|
||||
*/
|
||||
|
||||
CREATE TABLE `stretchy_report_tmp` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`report_name` varchar(100) NOT NULL,
|
||||
`report_type` varchar(20) NOT NULL,
|
||||
`report_subtype` varchar(20) DEFAULT NULL,
|
||||
`report_category` varchar(45) DEFAULT NULL,
|
||||
`report_sql` text,
|
||||
`description` text,
|
||||
`core_report` tinyint(1) DEFAULT '0',
|
||||
`use_report` tinyint(1) DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `report_name_UNIQUE` (`report_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
insert into stretchy_report_tmp
|
||||
(id, report_name, report_type, report_subtype, report_category,
|
||||
report_sql, description, core_report, use_report)
|
||||
select report_id, report_name, report_type, report_subtype, report_category,
|
||||
report_sql, description, core_report, use_report
|
||||
from stretchy_report;
|
||||
|
||||
CREATE TABLE `stretchy_parameter_tmp` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`parameter_name` varchar(45) NOT NULL,
|
||||
`parameter_variable` varchar(45) DEFAULT NULL,
|
||||
`parameter_label` varchar(45) NOT NULL,
|
||||
`parameter_displayType` varchar(45) NOT NULL,
|
||||
`parameter_FormatType` varchar(10) NOT NULL,
|
||||
`parameter_default` varchar(45) NOT NULL,
|
||||
`special` varchar(1) DEFAULT NULL,
|
||||
`selectOne` varchar(1) DEFAULT NULL,
|
||||
`selectAll` varchar(1) DEFAULT NULL,
|
||||
`parameter_sql` text,
|
||||
`parent_id` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name_UNIQUE` (`parameter_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
insert into stretchy_parameter_tmp
|
||||
(id, parameter_name, parameter_variable, parameter_label, parameter_displayType, parameter_FormatType,
|
||||
parameter_default, special, selectOne, selectAll, parameter_sql, parent_id)
|
||||
select parameter_id, parameter_name, parameter_variable, parameter_label, parameter_displayType, parameter_FormatType,
|
||||
parameter_default, special, selectOne, selectAll, parameter_sql, parent_parameter_id
|
||||
from stretchy_parameter;
|
||||
|
||||
CREATE TABLE `stretchy_report_parameter_tmp` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`report_id` int(11) NOT NULL,
|
||||
`parameter_id` int(11) NOT NULL,
|
||||
`report_parameter_name` varchar(45) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `report_id_name_UNIQUE` (`report_id`,`report_parameter_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
insert into stretchy_report_parameter_tmp(report_id, parameter_id, report_parameter_name)
|
||||
select report_id, parameter_id, report_parameter_name
|
||||
from stretchy_report_parameter;
|
||||
|
||||
|
||||
ALTER TABLE `stretchy_parameter_tmp`
|
||||
ADD CONSTRAINT `fk_stretchy_parameter_001`
|
||||
FOREIGN KEY (`parent_id` )
|
||||
REFERENCES `stretchy_parameter_tmp` (`id` )
|
||||
ON DELETE RESTRICT ON UPDATE RESTRICT,
|
||||
ADD INDEX `fk_stretchy_parameter_001_idx` (`parent_id` ASC);
|
||||
|
||||
|
||||
ALTER TABLE `stretchy_report_parameter_tmp`
|
||||
ADD CONSTRAINT `fk_report_parameter_001` FOREIGN KEY (`report_id` )
|
||||
REFERENCES `stretchy_report_tmp` (`id` ) ON DELETE CASCADE ON UPDATE RESTRICT,
|
||||
|
||||
ADD CONSTRAINT `fk_report_parameter_002` FOREIGN KEY (`parameter_id` )
|
||||
REFERENCES `stretchy_parameter_tmp` (`id` ) ON DELETE RESTRICT ON UPDATE RESTRICT,
|
||||
|
||||
ADD INDEX `fk_report_parameter_001_idx` (`report_id` ASC),
|
||||
ADD INDEX `fk_report_parameter_002_idx` (`parameter_id` ASC) ;
|
||||
|
||||
|
||||
drop table stretchy_report_parameter;
|
||||
drop table stretchy_report;
|
||||
drop table stretchy_parameter;
|
||||
|
||||
rename table
|
||||
stretchy_report_tmp to stretchy_report,
|
||||
stretchy_parameter_tmp to stretchy_parameter,
|
||||
stretchy_report_parameter_tmp to stretchy_report_parameter;
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
UPDATE `stretchy_parameter` SET `parameter_sql`='select sp.parameter_name, sp.parameter_variable, sp.parameter_label, sp.parameter_displayType, \r sp.parameter_FormatType, sp.parameter_default, sp.selectOne, sp.selectAll, spp.parameter_name as parentParameterName\r from stretchy_parameter sp\r left join stretchy_parameter spp on spp.id = sp.parent_id\r where sp.special is null\r and exists \r (select \'f\' \r from stretchy_report sr\r join stretchy_report_parameter srp on srp.report_id = sr.id\r where sr.report_name in(${reportListing})\r and srp.parameter_id = sp.id\r )\r order by sp.id' WHERE `id`='1002';
|
||||
|
||||
UPDATE `stretchy_parameter` SET `parameter_sql`='select r.id as report_id, r.report_name, r.report_type, r.report_subtype, r.report_category,\nrp.id as parameter_id, rp.report_parameter_name, p.parameter_name\n from stretchy_report r\n left join stretchy_report_parameter rp on rp.report_id = r.id \n left join stretchy_parameter p on p.id = rp.parameter_id\n where r.use_report is true\n and exists\n ( select \'f\'\n from m_appuser_role ur \n join m_role r on r.id = ur.role_id\n join m_role_permission rp on rp.role_id = r.id\n join m_permission p on p.id = rp.permission_id\n where ur.appuser_id = ${currentUserId}\n and (p.code in (\'ALL_FUNCTIONS_READ\', \'ALL_FUNCTIONS\') or p.code = concat(\"READ_\", r.report_name)) )\n order by r.report_category, r.report_name, rp.id' WHERE `id`='1001';
|
||||
|
||||
UPDATE `stretchy_parameter` SET `parameter_sql`='select r.id as report_id, r.report_name, r.report_type, r.report_subtype, r.report_category,\n rp.id as parameter_id, rp.report_parameter_name, p.parameter_name\n from stretchy_report r\n left join stretchy_report_parameter rp on rp.report_id = r.id\n left join stretchy_parameter p on p.id = rp.parameter_id\n where r.report_category = \'${reportCategory}\'\n and r.use_report is true\n and exists\n (select \'f\'\n from m_appuser_role ur \n join m_role r on r.id = ur.role_id\n join m_role_permission rp on rp.role_id = r.id\n join m_permission p on p.id = rp.permission_id\n where ur.appuser_id = ${currentUserId}\n and (p.code in (\'ALL_FUNCTIONS_READ\', \'ALL_FUNCTIONS\') or p.code = concat(\"READ_\", r.report_name)) )\n order by r.report_category, r.report_name, rp.id' WHERE `id`='1003';
|
||||
|
||||
Reference in New Issue
Block a user