Changeset 431 for wiki-toolkit/trunk/lib/Wiki/Toolkit/Setup/Pg.pm
- Timestamp:
- 05/11/08 17:04:41 (4 years ago)
- Files:
-
- 1 modified
-
wiki-toolkit/trunk/lib/Wiki/Toolkit/Setup/Pg.pm (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wiki-toolkit/trunk/lib/Wiki/Toolkit/Setup/Pg.pm
r426 r431 14 14 15 15 my %create_sql = ( 16 schema_info => [ qq|16 schema_info => [ qq| 17 17 CREATE TABLE schema_info ( 18 18 version integer NOT NULL default 0 … … 75 75 76 76 my %upgrades = ( 77 old_to_8 => [ qq|77 old_to_8 => [ qq| 78 78 CREATE SEQUENCE node_seq; 79 79 ALTER TABLE node ADD COLUMN id INTEGER; … … 91 91 ALTER TABLE content ADD COLUMN node_id INTEGER; 92 92 UPDATE content SET node_id = 93 (SELECT id FROM node where node.name = content.name)93 (SELECT id FROM node where node.name = content.name) 94 94 |, qq| 95 95 DELETE FROM content WHERE node_id IS NULL; … … 103 103 ALTER TABLE metadata ADD COLUMN node_id INTEGER; 104 104 UPDATE metadata SET node_id = 105 (SELECT id FROM node where node.name = metadata.node)105 (SELECT id FROM node where node.name = metadata.node) 106 106 |, qq| 107 107 DELETE FROM metadata WHERE node_id IS NULL; … … 192 192 } 193 193 194 # Do we need to upgrade the schema of existing tables?195 # (Don't check if no tables currently exist)196 my $upgrade_schema;197 if(scalar keys %tables > 0) {198 $upgrade_schema = Wiki::Toolkit::Setup::Database::get_database_upgrade_required($dbh,$VERSION);199 } else {200 print "Skipping schema upgrade check - no tables found\n";201 }202 203 # Set up tables if not found194 # Do we need to upgrade the schema of existing tables? 195 # (Don't check if no tables currently exist) 196 my $upgrade_schema; 197 if(scalar keys %tables > 0) { 198 $upgrade_schema = Wiki::Toolkit::Setup::Database::get_database_upgrade_required($dbh,$VERSION); 199 } else { 200 print "Skipping schema upgrade check - no tables found\n"; 201 } 202 203 # Set up tables if not found 204 204 foreach my $required ( reverse sort keys %create_sql ) { 205 205 if ( $tables{$required} ) { … … 213 213 } 214 214 215 # Do the upgrade if required216 if($upgrade_schema) {217 print "Upgrading schema: $upgrade_schema\n";218 my @updates = @{$upgrades{$upgrade_schema}};219 foreach my $update (@updates) {220 if(ref($update) eq "CODE") {221 &$update($dbh);222 } elsif(ref($update) eq "ARRAY") {223 foreach my $nupdate (@$update) {224 $dbh->do($nupdate);225 }226 } else {227 $dbh->do($update);228 }229 }230 }215 # Do the upgrade if required 216 if($upgrade_schema) { 217 print "Upgrading schema: $upgrade_schema\n"; 218 my @updates = @{$upgrades{$upgrade_schema}}; 219 foreach my $update (@updates) { 220 if(ref($update) eq "CODE") { 221 &$update($dbh); 222 } elsif(ref($update) eq "ARRAY") { 223 foreach my $nupdate (@$update) { 224 $dbh->do($nupdate); 225 } 226 } else { 227 $dbh->do($update); 228 } 229 } 230 } 231 231 232 232 # Clean up if we made our own dbh. … … 300 300 if ( $args{dbh} ) { 301 301 return $args{dbh}; 302 } else {302 } else { 303 303 return _make_dbh( %args ); 304 304 } … … 325 325 if ( $args{dbh} ) { 326 326 return 0; 327 } else {327 } else { 328 328 return 1; 329 329 } … … 339 339 $dsn .= ";host=$args{dbhost}" if $args{dbhost}; 340 340 my $dbh = DBI->connect($dsn, $args{dbuser}, $args{dbpass}, 341 { PrintError => 1, RaiseError => 1,342 AutoCommit => 1 } )343 or croak DBI::errstr;341 { PrintError => 1, RaiseError => 1, 342 AutoCommit => 1 } ) 343 or croak DBI::errstr; 344 344 return $dbh; 345 345 }
