Updated Branches: refs/heads/master 7fbd612d6 -> 2a95258fe
setup: Add database upgrade for 3.0.3 to 4.0 Also added a upgrade path from 3.X.X to 4.0, this should work. Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/2a95258f Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/2a95258f Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/2a95258f Branch: refs/heads/master Commit: 2a95258fe986cd5a84c33b250a976f73480d8113 Parents: 7fbd612 Author: Wido den Hollander <[email protected]> Authored: Fri Jul 27 18:06:38 2012 +0200 Committer: Wido den Hollander <[email protected]> Committed: Fri Jul 27 18:06:38 2012 +0200 ---------------------------------------------------------------------- .../com/cloud/upgrade/DatabaseUpgradeChecker.java | 13 ++- .../src/com/cloud/upgrade/dao/Upgrade303to40.java | 67 +++++++++++++++ 2 files changed, 75 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a95258f/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java b/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java index 88577ea..eb7a11c 100755 --- a/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java +++ b/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java @@ -55,6 +55,7 @@ import com.cloud.upgrade.dao.Upgrade229to2210; import com.cloud.upgrade.dao.Upgrade301to302; import com.cloud.upgrade.dao.Upgrade302to303; import com.cloud.upgrade.dao.Upgrade30to301; +import com.cloud.upgrade.dao.Upgrade303to40; import com.cloud.upgrade.dao.UpgradeSnapshot217to224; import com.cloud.upgrade.dao.UpgradeSnapshot223to224; import com.cloud.upgrade.dao.VersionDao; @@ -152,11 +153,13 @@ public class DatabaseUpgradeChecker implements SystemIntegrityChecker { _upgradeMap.put("2.2.14", new DbUpgrade[] { new Upgrade2214to30(), new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to303() }); - _upgradeMap.put("3.0.0", new DbUpgrade[] { new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to303() }); - - _upgradeMap.put("3.0.1", new DbUpgrade[] { new Upgrade301to302(), new Upgrade302to303() }); - - _upgradeMap.put("3.0.2", new DbUpgrade[] { new Upgrade302to303() }); + _upgradeMap.put("3.0.0", new DbUpgrade[] { new Upgrade30to301(), new Upgrade301to302(), new Upgrade302to303(), new Upgrade303to40() }); + + _upgradeMap.put("3.0.1", new DbUpgrade[] { new Upgrade301to302(), new Upgrade302to303(), new Upgrade303to40() }); + + _upgradeMap.put("3.0.2", new DbUpgrade[] { new Upgrade302to303(), new Upgrade303to40() }); + + _upgradeMap.put("3.0.3", new DbUpgrade[] { new Upgrade303to40() }); } protected void runScript(Connection conn, File file) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a95258f/server/src/com/cloud/upgrade/dao/Upgrade303to40.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/upgrade/dao/Upgrade303to40.java b/server/src/com/cloud/upgrade/dao/Upgrade303to40.java new file mode 100644 index 0000000..864d58d --- /dev/null +++ b/server/src/com/cloud/upgrade/dao/Upgrade303to40.java @@ -0,0 +1,67 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package com.cloud.upgrade.dao; + +/** + * @author Alena Prokharchyk + */ +import java.io.File; +import java.sql.Connection; + +import org.apache.log4j.Logger; +// +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.script.Script; + +public class Upgrade303to40 implements DbUpgrade { + final static Logger s_logger = Logger.getLogger(Upgrade303to40.class); + + @Override + public String[] getUpgradableVersionRange() { + return new String[] { "3.0.3", "4.0.0" }; + } + + @Override + public String getUpgradedVersion() { + return "4.0.0"; + } + + @Override + public boolean supportsRollingUpgrade() { + return false; + } + + @Override + public File[] getPrepareScripts() { + String script = Script.findScript("", "db/schema-303to40.sql"); + if (script == null) { + throw new CloudRuntimeException("Unable to find db/schema-303to40.sql"); + } + + return new File[] { new File(script) }; + } + + @Override + public void performDataMigration(Connection conn) { + } + + @Override + public File[] getCleanupScripts() { + return null; + } +}
