View | Details | Raw Unified | Return to bug 5339
Collapse All | Expand All

(-)a/installer/data/mysql/kohastructure.sql (-2 / +24 lines)
Lines 2604-2610 CREATE TABLE `aqorders` ( Link Here
2604
  `listprice` decimal(28,6) default NULL,
2604
  `listprice` decimal(28,6) default NULL,
2605
  `totalamount` decimal(28,6) default NULL,
2605
  `totalamount` decimal(28,6) default NULL,
2606
  `datereceived` date default NULL,
2606
  `datereceived` date default NULL,
2607
  `booksellerinvoicenumber` mediumtext,
2607
  `invoiceid` int(11) default NULL,
2608
  `freight` decimal(28,6) default NULL,
2608
  `freight` decimal(28,6) default NULL,
2609
  `unitprice` decimal(28,6) default NULL,
2609
  `unitprice` decimal(28,6) default NULL,
2610
  `quantityreceived` smallint(6) NOT NULL default 0,
2610
  `quantityreceived` smallint(6) NOT NULL default 0,
Lines 2634-2640 CREATE TABLE `aqorders` ( Link Here
2634
  KEY `biblionumber` (`biblionumber`),
2634
  KEY `biblionumber` (`biblionumber`),
2635
  KEY `budget_id` (`budget_id`),
2635
  KEY `budget_id` (`budget_id`),
2636
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
2636
  CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
2637
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE
2637
  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
2638
  CONSTRAINT `aqorders_ibfk_3` FOREIGN KEY (`invoiceid`) REFERENCES `invoices` (`invoiceid`) ON DELETE SET NULL ON UPDATE CASCADE
2638
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2639
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2639
2640
2640
2641
Lines 2651-2656 CREATE TABLE `aqorders_items` ( Link Here
2651
  KEY `ordernumber` (`ordernumber`)
2652
  KEY `ordernumber` (`ordernumber`)
2652
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2653
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2653
2654
2655
2656
--
2657
-- Table structure for table `invoices`
2658
--
2659
2660
DROP TABLE IF EXISTS `invoices`;
2661
CREATE TABLE `invoices` (
2662
  `invoiceid` int(11) NOT NULL AUTO_INCREMENT,
2663
  `invoicenumber` varchar(80) NOT NULL,
2664
  `booksellerid` int(11) NOT NULL,
2665
  `shipmentdate` date default NULL,
2666
  `billingdate` date default NULL,
2667
  `closedate` date default NULL,
2668
  `shipmentcost` decimal(28,6) default NULL,
2669
  `shipmentcost_budgetid` int(11) default NULL,
2670
  PRIMARY KEY (`invoiceid`),
2671
  CONSTRAINT `invoices_fk_aqbooksellerid` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
2672
  CONSTRAINT `invoices_fk_shipmentcost_budgetid` FOREIGN KEY (`shipmentcost_budgetid`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE
2673
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2674
2675
2654
--
2676
--
2655
-- Table structure for table `fieldmapping`
2677
-- Table structure for table `fieldmapping`
2656
--
2678
--
(-)a/installer/data/mysql/updatedatabase.pl (+57 lines)
Lines 4550-4555 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
4550
    SetVersion ($DBversion);
4550
    SetVersion ($DBversion);
4551
}
4551
}
4552
4552
4553
$DBversion = "XXX";
4554
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4555
    $dbh->do("
4556
        CREATE TABLE `invoices` (
4557
          `invoiceid` int(11) NOT NULL AUTO_INCREMENT,
4558
          `invoicenumber` varchar(80) NOT NULL,
4559
          `booksellerid` int(11) NOT NULL,
4560
          `shipmentdate` date default NULL,
4561
          `billingdate` date default NULL,
4562
          `closedate` date default NULL,
4563
          `shipmentcost` decimal(28,6) default NULL,
4564
          `shipmentcost_budgetid` int(11) default NULL,
4565
          PRIMARY KEY (`invoiceid`),
4566
          CONSTRAINT `invoices_fk_aqbooksellerid` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
4567
          CONSTRAINT `invoices_fk_shipmentcost_budgetid` FOREIGN KEY (`shipmentcost_budgetid`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE SET NULL ON UPDATE CASCADE
4568
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8
4569
    ");
4570
4571
    # Fill this new table with existing invoices
4572
    my $sth = $dbh->prepare("
4573
        SELECT aqorders.booksellerinvoicenumber AS invoicenumber, aqbasket.booksellerid
4574
        FROM aqorders
4575
          LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno
4576
        WHERE aqorders.booksellerinvoicenumber IS NOT NULL
4577
        GROUP BY aqorders.booksellerinvoicenumber
4578
    ");
4579
    $sth->execute;
4580
    my $results = $sth->fetchall_arrayref({});
4581
    $sth = $dbh->prepare("
4582
        INSERT INTO invoices (invoicenumber, booksellerid) VALUES (?,?)
4583
    ");
4584
    foreach(@$results) {
4585
        $sth->execute($_->{'invoicenumber'}, $_->{'booksellerid'});
4586
    }
4587
4588
    # Add the column in aqorders, fill it with correct value
4589
    # and then drop booksellerinvoicenumber column
4590
    $dbh->do("
4591
        ALTER TABLE aqorders
4592
        ADD COLUMN invoiceid int(11) default NULL AFTER booksellerinvoicenumber
4593
    ");
4594
4595
    $dbh->do("
4596
        UPDATE aqorders, invoices
4597
        SET aqorders.invoiceid = invoices.invoiceid
4598
        WHERE aqorders.booksellerinvoicenumber = invoices.invoicenumber
4599
    ");
4600
4601
    $dbh->do("
4602
        ALTER TABLE aqorders
4603
        DROP COLUMN booksellerinvoicenumber
4604
    ");
4605
4606
    print "Upgrade to $DBversion done (Add invoices table) \n";
4607
    SetVersion ($DBversion);
4608
}
4609
4553
=head1 FUNCTIONS
4610
=head1 FUNCTIONS
4554
4611
4555
=head2 DropAllForeignKeys($table)
4612
=head2 DropAllForeignKeys($table)
(-)a/kohaversion.pl (-2 / +1 lines)
Lines 16-22 the kohaversion is divided in 4 parts : Link Here
16
use strict;
16
use strict;
17
17
18
sub kohaversion {
18
sub kohaversion {
19
    our $VERSION = '3.06.00.000';
19
    our $VERSION = 'XXX';
20
    # version needs to be set this way
20
    # version needs to be set this way
21
    # so that it can be picked up by Makefile.PL
21
    # so that it can be picked up by Makefile.PL
22
    # during install
22
    # during install
23
- 

Return to bug 5339