upgrade db incrementally
This commit is contained in:
		| @@ -63,12 +63,23 @@ try { | ||||
|       $dbh->selectrow_arrayref("SELECT * FROM device WHERE 0 = 1"); | ||||
|     }); | ||||
|  | ||||
|     $schema->_set_db_version(2) | ||||
|     $schema->_set_db_version({version => 2}) | ||||
|       if $schema->get_db_version == 1; | ||||
|     $schema->storage->disconnect; | ||||
| }; | ||||
|  | ||||
| # upgrade from whatever dbix_class_schema_versions says, to $VERSION | ||||
| $schema->txn_do(sub { $schema->upgrade }); | ||||
| my $db_version = $schema->get_db_version; | ||||
| my $target_version = $schema->schema_version; | ||||
|  | ||||
| # one step at a time, in case user has applied local changes already | ||||
| for (my $i = $db_version; $i < $target_version; $i++) { | ||||
|     try { | ||||
|         $schema->upgrade_single_step($i, $i + 1); | ||||
|     } | ||||
|     catch { | ||||
|         $schema->_set_db_version({version => $i + 1}); | ||||
|     } | ||||
| } | ||||
|  | ||||
| exit 0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user