--- /dev/null
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do( "
+ CREATE TABLE IF NOT EXISTS invoice_adjustments (
+ adjustment_id int(11) NOT NULL AUTO_INCREMENT,
+ invoiceid int(11) NOT NULL,
+ adjustment decimal(28,6),
+ reason varchar(80) default NULL,
+ note mediumtext default NULL,
+ budget_id int(11) default NULL,
+ encumber_open smallint(1) NOT NULL default 1,
+ timestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (adjustment_id),
+ CONSTRAINT invoice_adjustments_fk_invoiceid FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT invoice_adjustments_fk_budget_id FOREIGN KEY (budget_id) REFERENCES aqbudgets (budget_id) ON DELETE SET NULL ON UPDATE CASCADE
+ )
+ " );
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 19166 - Add the ability to add adjustments to an invoice)\n";
+}
KEY `branchcode` (`branchcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+--
+-- Table structure for table 'invoice_adjustments'
+--
+
+DROP TABLE IF EXISTS invoice_adjustments;
+CREATE TABLE IF NOT EXISTS invoice_adjustments (
+ adjustment_id int(11) NOT NULL AUTO_INCREMENT, -- primary key for adjustments
+ invoiceid int(11) NOT NULL, -- foreign key to link an adjustment to an invoice
+ adjustment decimal(28,6), -- amount of adjustment
+ reason varchar(80) default NULL, -- reason for adjustment defined by authorised values in ADJ_REASON category
+ note mediumtext default NULL, -- text to explain adjustment
+ budget_id int(11) default NULL, -- optional link to budget to apply adjustment to
+ encumber_open smallint(1) NOT NULL default 1, -- whether or not to encumber the finds when invoice is still open, 1 = yes, 0 = no
+ timestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- timestamp of last adjustment to adjustment
+ PRIMARY KEY (adjustment_id),
+ CONSTRAINT invoice_adjustments_fk_invoiceid FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT invoice_adjustments_fk_budget_id FOREIGN KEY (budget_id) REFERENCES aqbudgets (budget_id) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
--
-- Table structure for table `issuingrules`
--