Lines 9677-9682
if ( CheckVersion($DBversion) ) {
Link Here
|
9677 |
SetVersion($DBversion); |
9677 |
SetVersion($DBversion); |
9678 |
} |
9678 |
} |
9679 |
|
9679 |
|
|
|
9680 |
$DBversion = "3.19.00.007"; |
9681 |
if ( CheckVersion($DBversion) ) { |
9682 |
my $orphan_budgets = $dbh->selectall_arrayref(q| |
9683 |
SELECT budget_id, budget_name, budget_code |
9684 |
FROM aqbudgets |
9685 |
WHERE budget_parent_id IS NOT NULL |
9686 |
AND budget_parent_id NOT IN ( |
9687 |
SELECT DISTINCT budget_id FROM aqbudgets |
9688 |
) |
9689 |
|, { Slice => {} } ); |
9690 |
|
9691 |
if ( @$orphan_budgets ) { |
9692 |
for my $b ( @$orphan_budgets ) { |
9693 |
print "Fund $b->{budget_name} (code:$b->{budget_code}, id:$b->{budget_id}) does not have a parent, it may cause problem\n"; |
9694 |
} |
9695 |
print "Upgrade to $DBversion done (Bug 12905: Check budget integrity: FAIL)\n"; |
9696 |
} else { |
9697 |
print "Upgrade to $DBversion done (Bug 12905: Check budget integrity: OK)\n"; |
9698 |
} |
9699 |
SetVersion($DBversion); |
9700 |
} |
9701 |
|
9702 |
$DBversion = "3.19.00.008"; |
9703 |
if ( CheckVersion($DBversion) ) { |
9704 |
my $number_of_orders_not_linked = $dbh->selectcol_arrayref(q| |
9705 |
SELECT COUNT(*) |
9706 |
FROM aqorders o |
9707 |
WHERE NOT EXISTS ( |
9708 |
SELECT NULL |
9709 |
FROM aqbudgets b |
9710 |
WHERE b.budget_id = o.budget_id |
9711 |
); |
9712 |
|); |
9713 |
|
9714 |
if ( $number_of_orders_not_linked->[0] > 0 ) { |
9715 |
$dbh->do(q| |
9716 |
INSERT INTO aqbudgetperiods(budget_period_startdate, budget_period_enddate, budget_period_active, budget_period_description, budget_period_total) VALUES ( CAST(NOW() AS date), CAST(NOW() AS date), 0, "WARNING: This budget has been automatically created by the updatedatabase script, please see bug 12601 for more information", 0) |
9717 |
|); |
9718 |
my $budget_period_id = $dbh->last_insert_id( undef, undef, 'aqbudgetperiods', undef ); |
9719 |
$dbh->do(qq| |
9720 |
INSERT INTO aqbudgets(budget_code, budget_name, budget_amount, budget_period_id) VALUES ( "BACKUP_TMP", "WARNING: fund created by the updatedatabase script, please see bug 12601", 0, $budget_period_id ); |
9721 |
|); |
9722 |
my $budget_id = $dbh->last_insert_id( undef, undef, 'aqbudgets', undef ); |
9723 |
$dbh->do(qq| |
9724 |
UPDATE aqorders o |
9725 |
SET budget_id = $budget_id |
9726 |
WHERE NOT EXISTS ( |
9727 |
SELECT NULL |
9728 |
FROM aqbudgets b |
9729 |
WHERE b.budget_id = o.budget_id |
9730 |
) |
9731 |
|); |
9732 |
} |
9733 |
|
9734 |
$dbh->do(q| |
9735 |
ALTER TABLE aqorders |
9736 |
ADD CONSTRAINT aqorders_budget_id_fk FOREIGN KEY (budget_id) REFERENCES aqbudgets(budget_id) ON DELETE CASCADE ON UPDATE CASCADE |
9737 |
|); |
9738 |
|
9739 |
print "Upgrade to $DBversion done (Bug 12601 - Add new foreign key aqorders.budget_id" . ( ( $number_of_orders_not_linked->[0] > 0 ) ? ' WARNING: temporary budget and fund have been created (search for "BACKUP_TMP"). At least one of your order was not linked to a budget' : '' ) . ")\n"; |
9740 |
SetVersion($DBversion); |
9741 |
} |
9742 |
|
9743 |
$DBversion = "3.19.00.009"; |
9744 |
if ( CheckVersion($DBversion) ) { |
9745 |
$dbh->do(q| |
9746 |
UPDATE suggestions s SET s.budgetid = NULL |
9747 |
WHERE NOT EXISTS ( |
9748 |
SELECT NULL |
9749 |
FROM aqbudgets b |
9750 |
WHERE b.budget_id = s.budgetid |
9751 |
); |
9752 |
|); |
9753 |
|
9754 |
$dbh->do(q| |
9755 |
ALTER TABLE suggestions |
9756 |
ADD CONSTRAINT suggestions_budget_id_fk FOREIGN KEY (budgetid) REFERENCES aqbudgets(budget_id) ON DELETE SET NULL ON UPDATE CASCADE |
9757 |
|); |
9758 |
|
9759 |
print "Upgrade to $DBversion done (Bug 13007 - Add new foreign key suggestions.budgetid)\n"; |
9760 |
SetVersion($DBversion); |
9761 |
} |
9762 |
|
9763 |
$DBversion = "3.19.00.010"; |
9764 |
if ( CheckVersion($DBversion) ) { |
9765 |
$dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('SessionRestrictionByIP','1','Check for Change in Remote IP address for Session Security. Disable when remote ip address changes frequently.','','YesNo')"); |
9766 |
print "Upgrade to $DBversion done (Bug 5511 - SessionRestrictionByIP)\n"; |
9767 |
SetVersion ($DBversion); |
9768 |
} |
9769 |
|
9770 |
$DBversion = "3.19.00.011"; |
9771 |
if ( CheckVersion($DBversion) ) { |
9772 |
$dbh->do(q| |
9773 |
INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES |
9774 |
(20, 'lists', 'Lists', 0) |
9775 |
|); |
9776 |
$dbh->do(q| |
9777 |
INSERT INTO permissions (module_bit, code, description) VALUES |
9778 |
(20, 'delete_public_lists', 'Delete public lists') |
9779 |
|); |
9780 |
print "Upgrade to $DBversion done (Bug 13417: Add permission to delete public lists)\n"; |
9781 |
SetVersion ($DBversion); |
9782 |
} |
9783 |
|
9784 |
$DBversion = "3.19.00.012"; |
9785 |
if(CheckVersion($DBversion)) { |
9786 |
$dbh->do(q{ |
9787 |
ALTER TABLE biblioitems MODIFY COLUMN marcxml longtext |
9788 |
}); |
9789 |
|
9790 |
$dbh->do(q{ |
9791 |
ALTER TABLE deletedbiblioitems MODIFY COLUMN marcxml longtext |
9792 |
}); |
9793 |
|
9794 |
print "Upgrade to $DBversion done (Bug 13523 - Remove NOT NULL restriction on field marcxml due to mysql STRICT_TRANS_TABLES)\n"; |
9795 |
SetVersion($DBversion); |
9796 |
} |
9797 |
|
9680 |
$DBversion = "3.19.00.XXX"; |
9798 |
$DBversion = "3.19.00.XXX"; |
9681 |
if ( CheckVersion($DBversion) ) { |
9799 |
if ( CheckVersion($DBversion) ) { |
9682 |
$dbh->do(q{ |
9800 |
$dbh->do(q{ |
Lines 9859-9985
if ( CheckVersion($DBversion) ) {
Link Here
|
9859 |
} |
9977 |
} |
9860 |
} |
9978 |
} |
9861 |
|
9979 |
|
9862 |
print "Upgrade to $DBversion done ( Bug 6427 - Rewrite of the accounts system )\n"; |
9980 |
$dbh->do("DROP TABLE accountoffsets"); |
9863 |
SetVersion ($DBversion); |
9981 |
$dbh->do("DROP TABLE accountlines"); |
9864 |
} |
|
|
9865 |
|
9866 |
$DBversion = "3.19.00.007"; |
9867 |
if ( CheckVersion($DBversion) ) { |
9868 |
my $orphan_budgets = $dbh->selectall_arrayref(q| |
9869 |
SELECT budget_id, budget_name, budget_code |
9870 |
FROM aqbudgets |
9871 |
WHERE budget_parent_id IS NOT NULL |
9872 |
AND budget_parent_id NOT IN ( |
9873 |
SELECT DISTINCT budget_id FROM aqbudgets |
9874 |
) |
9875 |
|, { Slice => {} } ); |
9876 |
|
9877 |
if ( @$orphan_budgets ) { |
9878 |
for my $b ( @$orphan_budgets ) { |
9879 |
print "Fund $b->{budget_name} (code:$b->{budget_code}, id:$b->{budget_id}) does not have a parent, it may cause problem\n"; |
9880 |
} |
9881 |
print "Upgrade to $DBversion done (Bug 12905: Check budget integrity: FAIL)\n"; |
9882 |
} else { |
9883 |
print "Upgrade to $DBversion done (Bug 12905: Check budget integrity: OK)\n"; |
9884 |
} |
9885 |
SetVersion($DBversion); |
9886 |
} |
9887 |
|
9888 |
$DBversion = "3.19.00.008"; |
9889 |
if ( CheckVersion($DBversion) ) { |
9890 |
my $number_of_orders_not_linked = $dbh->selectcol_arrayref(q| |
9891 |
SELECT COUNT(*) |
9892 |
FROM aqorders o |
9893 |
WHERE NOT EXISTS ( |
9894 |
SELECT NULL |
9895 |
FROM aqbudgets b |
9896 |
WHERE b.budget_id = o.budget_id |
9897 |
); |
9898 |
|); |
9899 |
|
9900 |
if ( $number_of_orders_not_linked->[0] > 0 ) { |
9901 |
$dbh->do(q| |
9902 |
INSERT INTO aqbudgetperiods(budget_period_startdate, budget_period_enddate, budget_period_active, budget_period_description, budget_period_total) VALUES ( CAST(NOW() AS date), CAST(NOW() AS date), 0, "WARNING: This budget has been automatically created by the updatedatabase script, please see bug 12601 for more information", 0) |
9903 |
|); |
9904 |
my $budget_period_id = $dbh->last_insert_id( undef, undef, 'aqbudgetperiods', undef ); |
9905 |
$dbh->do(qq| |
9906 |
INSERT INTO aqbudgets(budget_code, budget_name, budget_amount, budget_period_id) VALUES ( "BACKUP_TMP", "WARNING: fund created by the updatedatabase script, please see bug 12601", 0, $budget_period_id ); |
9907 |
|); |
9908 |
my $budget_id = $dbh->last_insert_id( undef, undef, 'aqbudgets', undef ); |
9909 |
$dbh->do(qq| |
9910 |
UPDATE aqorders o |
9911 |
SET budget_id = $budget_id |
9912 |
WHERE NOT EXISTS ( |
9913 |
SELECT NULL |
9914 |
FROM aqbudgets b |
9915 |
WHERE b.budget_id = o.budget_id |
9916 |
) |
9917 |
|); |
9918 |
} |
9919 |
|
9920 |
$dbh->do(q| |
9921 |
ALTER TABLE aqorders |
9922 |
ADD CONSTRAINT aqorders_budget_id_fk FOREIGN KEY (budget_id) REFERENCES aqbudgets(budget_id) ON DELETE CASCADE ON UPDATE CASCADE |
9923 |
|); |
9924 |
|
9925 |
print "Upgrade to $DBversion done (Bug 12601 - Add new foreign key aqorders.budget_id" . ( ( $number_of_orders_not_linked->[0] > 0 ) ? ' WARNING: temporary budget and fund have been created (search for "BACKUP_TMP"). At least one of your order was not linked to a budget' : '' ) . ")\n"; |
9926 |
SetVersion($DBversion); |
9927 |
} |
9928 |
|
9929 |
$DBversion = "3.19.00.009"; |
9930 |
if ( CheckVersion($DBversion) ) { |
9931 |
$dbh->do(q| |
9932 |
UPDATE suggestions s SET s.budgetid = NULL |
9933 |
WHERE NOT EXISTS ( |
9934 |
SELECT NULL |
9935 |
FROM aqbudgets b |
9936 |
WHERE b.budget_id = s.budgetid |
9937 |
); |
9938 |
|); |
9939 |
|
9940 |
$dbh->do(q| |
9941 |
ALTER TABLE suggestions |
9942 |
ADD CONSTRAINT suggestions_budget_id_fk FOREIGN KEY (budgetid) REFERENCES aqbudgets(budget_id) ON DELETE SET NULL ON UPDATE CASCADE |
9943 |
|); |
9944 |
|
9982 |
|
9945 |
print "Upgrade to $DBversion done (Bug 13007 - Add new foreign key suggestions.budgetid)\n"; |
9983 |
print "Upgrade to $DBversion done ( Bug 6427 - Rewrite of the accounts system )\n"; |
9946 |
SetVersion($DBversion); |
|
|
9947 |
} |
9948 |
|
9949 |
$DBversion = "3.19.00.010"; |
9950 |
if ( CheckVersion($DBversion) ) { |
9951 |
$dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('SessionRestrictionByIP','1','Check for Change in Remote IP address for Session Security. Disable when remote ip address changes frequently.','','YesNo')"); |
9952 |
print "Upgrade to $DBversion done (Bug 5511 - SessionRestrictionByIP)\n"; |
9953 |
SetVersion ($DBversion); |
9954 |
} |
9955 |
|
9956 |
$DBversion = "3.19.00.011"; |
9957 |
if ( CheckVersion($DBversion) ) { |
9958 |
$dbh->do(q| |
9959 |
INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES |
9960 |
(20, 'lists', 'Lists', 0) |
9961 |
|); |
9962 |
$dbh->do(q| |
9963 |
INSERT INTO permissions (module_bit, code, description) VALUES |
9964 |
(20, 'delete_public_lists', 'Delete public lists') |
9965 |
|); |
9966 |
print "Upgrade to $DBversion done (Bug 13417: Add permission to delete public lists)\n"; |
9967 |
SetVersion ($DBversion); |
9984 |
SetVersion ($DBversion); |
9968 |
} |
9985 |
} |
9969 |
|
9986 |
|
9970 |
$DBversion = "3.19.00.012"; |
|
|
9971 |
if(CheckVersion($DBversion)) { |
9972 |
$dbh->do(q{ |
9973 |
ALTER TABLE biblioitems MODIFY COLUMN marcxml longtext |
9974 |
}); |
9975 |
|
9976 |
$dbh->do(q{ |
9977 |
ALTER TABLE deletedbiblioitems MODIFY COLUMN marcxml longtext |
9978 |
}); |
9979 |
|
9980 |
print "Upgrade to $DBversion done (Bug 13523 - Remove NOT NULL restriction on field marcxml due to mysql STRICT_TRANS_TABLES)\n"; |
9981 |
SetVersion($DBversion); |
9982 |
} |
9983 |
|
9987 |
|
9984 |
=head1 FUNCTIONS |
9988 |
=head1 FUNCTIONS |
9985 |
|
9989 |
|
9986 |
- |
|
|