From def67bba2a88d451ff3d285843d0b715e0a06f72 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 27 Sep 2016 08:30:12 +0100 Subject: [PATCH] Bug 17356: Add atomic update .perl skeleton file To show devs how it should be written. Test plan: % cp installer/data/mysql/atomicupdate/skeleton.perl installer/data/mysql/atomicupdate/bug_XXXXX.perl % perl installer/data/mysql/updatedatabase.pl You should see: DEV atomic update: bug_xxxxx.perl Upgrade to 16.06.00.XXX done (Bug XXXXX - description) Signed-off-by: Liz Rea Very good. I'll submit a patch for the readme to make the instructions better. Signed-off-by: Liz Rea --- installer/data/mysql/atomicupdate/skeleton.perl | 10 ++++++++++ installer/data/mysql/updatedatabase.pl | 1 + 2 files changed, 11 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/skeleton.perl diff --git a/installer/data/mysql/atomicupdate/skeleton.perl b/installer/data/mysql/atomicupdate/skeleton.perl new file mode 100644 index 0000000..6e265bf --- /dev/null +++ b/installer/data/mysql/atomicupdate/skeleton.perl @@ -0,0 +1,10 @@ +use C4::Installer; +my $dbh = C4::Context->dbh; +$DBversion = '16.06.00.XXX'; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + unless( column_exists( 'biblio', 'biblionumber' ) ) { # or constraint_exists( $table_name, $key_name ) + warn "There is something wrong"; + } + SetVersion ($DBversion); + print "Upgrade to $DBversion done (Bug XXXXX - description)\n"; +} diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index bda2949..642f245 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -13141,6 +13141,7 @@ my $update_dir = C4::Context->config('intranetdir') . '/installer/data/mysql/ato opendir( my $dirh, $update_dir ); foreach my $file ( sort readdir $dirh ) { next if $file !~ /\.(sql|perl)$/; #skip other files + next if $file eq 'skeleton.perl'; # skip the skeleton file print "DEV atomic update: $file\n"; if ( $file =~ /\.sql$/ ) { my $installer = C4::Installer->new(); -- 1.9.1