Browse Source

Bug 24161: DBRev 19.12.00.085

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
20.05.x
Martin Renvoize 3 years ago
parent
commit
a18e944400
Signed by: martin.renvoize GPG Key ID: 422B469130441A0F
  1. 2
      Koha.pm
  2. 36
      installer/data/mysql/atomicupdate/bug_24161.perl
  3. 35
      installer/data/mysql/updatedatabase.pl

2
Koha.pm

@ -29,7 +29,7 @@ use vars qw{ $VERSION };
# - #4 : the developer version. The 4th number is the database subversion.
# used by developers when the database changes. updatedatabase take care of the changes itself
# and is automatically called by Auth.pm when needed.
$VERSION = "19.12.00.084";
$VERSION = "19.12.00.085";
sub version {
return $VERSION;

36
installer/data/mysql/atomicupdate/bug_24161.perl

@ -1,36 +0,0 @@
$DBversion = 'XXX'; # will be replaced by the RM
if( CheckVersion( $DBversion ) ) {
unless ( TableExists( 'aqorders_claims' ) ) {
$dbh->do(q|
CREATE TABLE aqorders_claims (
id int(11) AUTO_INCREMENT,
ordernumber INT(11) NOT NULL,
claimed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
CONSTRAINT aqorders_claims_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|);
my $orders = $dbh->selectall_arrayref(q|
SELECT ordernumber, claims_count, claimed_date
FROM aqorders
WHERE claims_count > 0
|, { Slice => {} });
my $insert_claim_sth = $dbh->prepare(q|
INSERT INTO aqorders_claims (ordernumber, claimed_on)
VALUES (?,?)
|);
for my $order ( @$orders ) {
for my $claim (1..$order->{claims_count}) {
$insert_claim_sth->execute($order->{ordernumber}, $order->{claimed_on});
}
}
$dbh->do(q|ALTER TABLE aqorders DROP COLUMN claims_count, DROP COLUMN claimed_date|);
}
# Always end with this (adjust the bug info)
SetVersion( $DBversion );
print "Upgrade to $DBversion done (Bug 24161 - Add new join table aqorders_claims to keep track of claims)\n";
}

35
installer/data/mysql/updatedatabase.pl

@ -21993,6 +21993,41 @@ if( CheckVersion( $DBversion ) ) {
NewVersion( $DBversion, 17682, "Add macros db table and permissions");
}
$DBversion = '19.12.00.085';
if( CheckVersion( $DBversion ) ) {
unless ( TableExists( 'aqorders_claims' ) ) {
$dbh->do(q|
CREATE TABLE aqorders_claims (
id int(11) AUTO_INCREMENT,
ordernumber INT(11) NOT NULL,
claimed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
CONSTRAINT aqorders_claims_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|);
my $orders = $dbh->selectall_arrayref(q|
SELECT ordernumber, claims_count, claimed_date
FROM aqorders
WHERE claims_count > 0
|, { Slice => {} });
my $insert_claim_sth = $dbh->prepare(q|
INSERT INTO aqorders_claims (ordernumber, claimed_on)
VALUES (?,?)
|);
for my $order ( @$orders ) {
for my $claim (1..$order->{claims_count}) {
$insert_claim_sth->execute($order->{ordernumber}, $order->{claimed_on});
}
}
$dbh->do(q|ALTER TABLE aqorders DROP COLUMN claims_count, DROP COLUMN claimed_date|);
}
NewVersion( $DBversion, 24161, "Add new join table aqorders_claims to keep track of claims");
}
# SEE bug 13068
# if there is anything in the atomicupdate, read and execute it.
my $update_dir = C4::Context->config('intranetdir') . '/installer/data/mysql/atomicupdate/';

Loading…
Cancel
Save