One thing we didn't discuss when we talked about version numbers and
major vs. minor upgrades is the requirement that Roller be started to
complete an upgrade.
If you're upgrading from version 1.1 to version 2.0 for example, you
don't want to have to start Roller after you run each upgrade script.
So, for 2.0, I hacked the 1.2, 1.3 and 2.0 scripts so that starting
Roller is not necessary until you reach 2.0.
I wonder if there's anyway we can do the same here. Doesn't look like
it.
- Dave
If you're upgrading from
On Dec 16, 2005, at 12:51 PM, [EMAIL PROTECTED] wrote:
Author: agilliland
Date: Fri Dec 16 09:51:12 2005
New Revision: 357196
URL: http://svn.apache.org/viewcvs?rev=357196&view=rev
Log:
updated 2.1 upgrade procedure.
Modified:
incubator/roller/trunk/src/org/roller/business/utils/
UpgradeDatabase.java
Modified:
incubator/roller/trunk/src/org/roller/business/utils/
UpgradeDatabase.java
URL:
http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/
business/utils/UpgradeDatabase.java?
rev=357196&r1=357195&r2=357196&view=diff
=======================================================================
=======
---
incubator/roller/trunk/src/org/roller/business/utils/
UpgradeDatabase.java (original)
+++
incubator/roller/trunk/src/org/roller/business/utils/
UpgradeDatabase.java Fri Dec 16 09:51:12 2005
@@ -258,10 +258,16 @@
// this query will give us all websites that have
modified their
// default page to link to something other than "Weblog"
PreparedStatement selectUpdateWeblogs =
con.prepareStatement(
- "select website.id,template from website,webpage
"+
+ "select website.id,template,website.handle from
website,webpage "+
"where webpage.id = website.defaultpageid "+
"and webpage.link != 'Weblog'");
+ PreparedStatement selectWeblogTemplate =
con.prepareStatement(
+ "select id from webpage where websiteid = ? and
link = 'Weblog'");
+
+ PreparedStatement updateWeblogTemplate =
con.prepareStatement(
+ "update webpage set template = ? where id = ?");
+
// insert a new template for a website
PreparedStatement insertWeblogTemplate =
con.prepareStatement(
"insert into webpage"+
@@ -279,21 +285,45 @@
while (websiteSet.next()) {
String websiteid = websiteSet.getString(1);
String template = websiteSet.getString(2);
- mLogger.info("Processing website: " + websiteid);
+ String handle = websiteSet.getString(3);
+ mLogger.info("Processing website: " + handle);
+
+ String defaultpageid = null;
- // insert new Weblog template
- insertWeblogTemplate.clearParameters();
- insertWeblogTemplate.setString( 1, websiteid+"q");
- insertWeblogTemplate.setString( 2, "Weblog");
- insertWeblogTemplate.setString( 3, description);
- insertWeblogTemplate.setString( 4, "Weblog");
- insertWeblogTemplate.setString( 5, websiteid);
- insertWeblogTemplate.setString( 6, template);
- insertWeblogTemplate.executeUpdate();
+ // it's possible that this weblog has a "Weblog"
template, but just
+ // isn't using it as their default. if so we need to
fix that.
+ selectWeblogTemplate.clearParameters();
+ selectWeblogTemplate.setString(1, websiteid);
+ ResultSet weblogPageSet =
selectWeblogTemplate.executeQuery();
+ if(weblogPageSet.next()) {
+ // this person already has a "Weblog" template,
so update it
+ String id = weblogPageSet.getString(1);
+
+ updateWeblogTemplate.clearParameters();
+ updateWeblogTemplate.setString(1, template);
+ updateWeblogTemplate.setString(2, id);
+ updateWeblogTemplate.executeUpdate();
+
+ // make sure and adjust what default page id we
want to use
+ defaultpageid = id;
+ } else {
+ // no "Weblog" template, so insert a new one
+ insertWeblogTemplate.clearParameters();
+ insertWeblogTemplate.setString( 1, websiteid+"q");
+ insertWeblogTemplate.setString( 2, "Weblog");
+ insertWeblogTemplate.setString( 3, description);
+ insertWeblogTemplate.setString( 4, "Weblog");
+ insertWeblogTemplate.setString( 5, websiteid);
+ insertWeblogTemplate.setString( 6, template);
+ insertWeblogTemplate.executeUpdate();
+
+ // set the new default page id
+ defaultpageid = websiteid+"q";
+ }
// update defaultpageid value
updateDefaultPage.clearParameters();
- updateDefaultPage.setString( 1, websiteid+"q");
+ updateDefaultPage.setString( 1, defaultpageid);
updateDefaultPage.setString( 2, websiteid);
updateDefaultPage.executeUpdate();
}