You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ch...@apache.org on 2012/07/28 05:41:20 UTC

[4/13] git commit: setup: Add database upgrade for 3.0.3 to 4.0

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/c8945559
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c8945559
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c8945559

Branch: refs/heads/master
Commit: c89455592490d6219f445e8e893559e52b83ff1b
Parents: 9c895b1
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Fri Jul 27 18:06:38 2012 +0200
Committer: chip.childers@gmail.com <ch...@gmail.com>
Committed: Fri Jul 27 23:37:46 2012 -0400

----------------------------------------------------------------------
 .../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/c8945559/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/c8945559/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;
+    }
+}