Bug 23321: (QA follow-up) Make atomic update idempotent

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Tomás Cohen Arazi 2019-09-20 15:06:38 -03:00 committed by Martin Renvoize
parent f24597d2a0
commit 9aefd5845a
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F

View file

@ -1,20 +1,22 @@
$DBversion = 'XXX'; # will be replaced by the RM
if ( CheckVersion($DBversion) ) {
$dbh->do(qq{
CREATE TABLE `cash_registers` (
`id` int(11) NOT NULL auto_increment, -- unique identifier for each account register
`name` varchar(24) NOT NULL, -- the user friendly identifier for each account register
`description` longtext NOT NULL, -- the user friendly description for each account register
`branch` varchar(10) NOT NULL, -- the foreign key the library this account register belongs
`branch_default` tinyint(1) NOT NULL DEFAULT 0, -- boolean flag to denote that this till is the branch default
`starting_float` decimal(28, 6), -- the starting float this account register should be assigned
`archived` tinyint(1) NOT NULL DEFAULT 0, -- boolean flag to denote if this till is archived or not
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`,`branch`),
CONSTRAINT cash_registers_branch FOREIGN KEY (branch) REFERENCES branches (branchcode) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
});
unless ( TableExists( 'cash_registers' ) ) {
$dbh->do(qq{
CREATE TABLE `cash_registers` (
`id` int(11) NOT NULL auto_increment, -- unique identifier for each account register
`name` varchar(24) NOT NULL, -- the user friendly identifier for each account register
`description` longtext NOT NULL, -- the user friendly description for each account register
`branch` varchar(10) NOT NULL, -- the foreign key the library this account register belongs
`branch_default` tinyint(1) NOT NULL DEFAULT 0, -- boolean flag to denote that this till is the branch default
`starting_float` decimal(28, 6), -- the starting float this account register should be assigned
`archived` tinyint(1) NOT NULL DEFAULT 0, -- boolean flag to denote if this till is archived or not
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`,`branch`),
CONSTRAINT cash_registers_branch FOREIGN KEY (branch) REFERENCES branches (branchcode) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
});
}
unless ( column_exists( 'accountlines', 'register_id' ) ) {
$dbh->do(qq{ALTER TABLE `accountlines` ADD `register_id` int(11) NULL DEFAULT NULL AFTER `manager_id`});