From 5ace8efd347cb4c1e429c36a4159dda4e4bfff77 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 23 Mar 2015 09:17:05 -0400 Subject: [PATCH] Bug 13893 - Add ability to execute perl scripts in atomicupdates Bug 13068 adds the ability to execute sql files from atomicupdates for in process developments to reduce merge conflicts. We need to extend this ability further to be able to handle perl code. Test Plan: 1) Apply this patch set 2) Run updatedatabase.pl 3) You should see the output "Upgrade to XXX done (Bug 13893 - Add ability to execute perl scripts in atomicupdates)" --- installer/data/mysql/atomicupdate/test_bz13068.sql | 3 --- installer/data/mysql/updatedatabase.pl | 11 +++++++---- 2 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 installer/data/mysql/atomicupdate/test_bz13068.sql diff --git a/installer/data/mysql/atomicupdate/test_bz13068.sql b/installer/data/mysql/atomicupdate/test_bz13068.sql deleted file mode 100644 index 251ff27..0000000 --- a/installer/data/mysql/atomicupdate/test_bz13068.sql +++ /dev/null @@ -1,3 +0,0 @@ -CREATE TABLE test (`test` CHAR(8)); -INSERT INTO test (test) values ('1'), - ('2'); diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 7207f82..04aff47 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -9916,10 +9916,13 @@ if(CheckVersion($DBversion)) { my $update_dir = C4::Context->config('intranetdir') . '/installer/data/mysql/atomicupdate/'; opendir( my $dirh, $update_dir ); while ( my $file = readdir $dirh ) { - next unless $file =~ /\.sql$/; # skip non SQL files - print "DEV atomic update : $file \n"; - my $installer = C4::Installer->new(); - my $rv = $installer->load_sql( $update_dir . $file ) ? 0 : 1; + if ( $file =~ /\.sql$/ ) { # skip non SQL files + print "DEV atomic update : $file \n"; + my $installer = C4::Installer->new(); + my $rv = $installer->load_sql( $update_dir . $file ) ? 0 : 1; + } elsif ( $file =~ /\.perl$/ ) { + do $update_dir . $file; + } } -- 1.7.2.5