You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2008/08/24 07:37:32 UTC
svn commit: r688451 - in
/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration:
./ commands/
Author: cbegin
Date: Sat Aug 23 22:37:31 2008
New Revision: 688451
URL: http://svn.apache.org/viewvc?rev=688451&view=rev
Log:
Added real timestamp
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/Change.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/InitializeCommand.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/NewCommand.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/RunCommand.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/StatusCommand.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_changelog.sql
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/Change.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/Change.java?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/Change.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/Change.java Sat Aug 23 22:37:31 2008
@@ -6,12 +6,14 @@
private BigDecimal id;
private String description;
+ private String appliedTimestamp;
public Change() {
}
- public Change(BigDecimal id, String description) {
+ public Change(BigDecimal id, String appliedTimestamp, String description) {
this.id = id;
+ this.appliedTimestamp = appliedTimestamp;
this.description = description;
}
@@ -31,13 +33,25 @@
this.description = description;
}
+ public String getAppliedTimestamp() {
+ return appliedTimestamp;
+ }
+
+ public void setAppliedTimestamp(String appliedTimestamp) {
+ this.appliedTimestamp = appliedTimestamp;
+ }
+
public String toString() {
- StringBuilder idstring = new StringBuilder(id.toString());
- idstring.insert(12,":");
- idstring.insert(10,":");
- idstring.insert(8," ");
- idstring.insert(6,"-");
- idstring.insert(4,"-");
- return id + " [" + idstring + "] " + description;
+ return id + " " + appliedTimestamp + " " + description;
+ }
+
+ private String formattedId() {
+ StringBuilder idString = new StringBuilder(id.toString());
+ idString.insert(12,":");
+ idString.insert(10,":");
+ idString.insert(8," ");
+ idString.insert(6,"-");
+ idString.insert(4,"-");
+ return idString.toString();
}
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java Sat Aug 23 22:37:31 2008
@@ -66,10 +66,13 @@
protected List<Change> getChangelog() {
AdHocExecutor executor = getAdHocExecutor();
try {
- List<Map<String, Object>> changelog = executor.selectAll("select ID, DESCRIPTION from CHANGELOG order by id");
+ List<Map<String, Object>> changelog = executor.selectAll("select ID, APPLIED_AT, DESCRIPTION from CHANGELOG order by id");
List<Change> changes = new ArrayList<Change>();
for (Map<String, Object> change : changelog) {
- changes.add(new Change(new BigDecimal(change.get("ID").toString()), change.get("DESCRIPTION").toString()));
+ String id = change.get("ID") == null ? null : change.get("ID").toString();
+ String appliedAt = change.get("APPLIED_AT") == null ? null : change.get("APPLIED_AT").toString();
+ String description = change.get("DESCRIPTION") == null ? null : change.get("DESCRIPTION").toString();
+ changes.add(new Change(new BigDecimal(id), appliedAt, description));
}
return changes;
} catch (SQLException e) {
@@ -109,7 +112,7 @@
return builder.toString();
}
- protected String getTimestampAsString() {
+ protected String getNextIDAsString() {
try {
// Ensure that two subsequent calls are less likely to return the same value.
Thread.sleep(1000);
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/InitializeCommand.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/InitializeCommand.java?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/InitializeCommand.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/InitializeCommand.java Sat Aug 23 22:37:31 2008
@@ -23,8 +23,8 @@
copyResourceTo("org/apache/ibatis/migration/template_README", baseFile("README"));
copyResourceTo("org/apache/ibatis/migration/template_environment.properties", environmentFile());
- copyResourceTo("org/apache/ibatis/migration/template_changelog.sql", scriptFile(getTimestampAsString() + "_create_changelog.sql"));
- copyResourceTo("org/apache/ibatis/migration/template_migration.sql", scriptFile(getTimestampAsString() + "_first_migration.sql"),
+ copyResourceTo("org/apache/ibatis/migration/template_changelog.sql", scriptFile(getNextIDAsString() + "_create_changelog.sql"));
+ copyResourceTo("org/apache/ibatis/migration/template_migration.sql", scriptFile(getNextIDAsString() + "_first_migration.sql"),
new HashMap<String,String>(){{put("description","First migration.");}});
out.println("Done!");
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/NewCommand.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/NewCommand.java?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/NewCommand.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/NewCommand.java Sat Aug 23 22:37:31 2008
@@ -20,7 +20,7 @@
Map<String, String> variables = new HashMap<String, String>();
variables.put("description", description);
existingEnvironmentFile();
- String filename = getTimestampAsString() + "_" + description.replace(' ', '_') + ".sql";
+ String filename = getNextIDAsString() + "_" + description.replace(' ', '_') + ".sql";
copyResourceTo("org/apache/ibatis/migration/template_migration.sql", scriptFile(filename), variables);
out.println("Done!");
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/RunCommand.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/RunCommand.java?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/RunCommand.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/RunCommand.java Sat Aug 23 22:37:31 2008
@@ -10,6 +10,7 @@
import java.io.FileReader;
import java.util.Arrays;
import java.sql.SQLException;
+import java.text.SimpleDateFormat;
public class RunCommand extends BaseCommand {
@@ -53,13 +54,18 @@
protected void insertChangelog(Change change) {
AdHocExecutor executor = getAdHocExecutor();
+ change.setAppliedTimestamp(getAppliedTimestampAsString());
try {
- executor.insert("insert into CHANGELOG (ID, DESCRIPTION) values (?,?)", change.getId(), change.getDescription());
+ executor.insert("insert into CHANGELOG (ID, APPLIED_AT, DESCRIPTION) values (?,?,?)", change.getId(), change.getAppliedTimestamp(), change.getDescription());
} catch (SQLException e) {
throw new MigrationException("Error querying last applied migration. Cause: " + e, e);
} finally {
executor.closeConnection();
}
- }
+ }
+
+ protected String getAppliedTimestampAsString() {
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.sql.Date(System.currentTimeMillis()));
+ }
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/StatusCommand.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/StatusCommand.java?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/StatusCommand.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/StatusCommand.java Sat Aug 23 22:37:31 2008
@@ -14,7 +14,7 @@
public void execute(String... params) {
if (changelogExists()) {
List<Change> changelog = getChangelog();
- out.println("ID TIMESTAMP DESCRIPTION");
+ out.println("ID Applied At Description");
out.println(horizontalLine("", 60));
for (Change change : changelog) {
out.println(change);
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_changelog.sql
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_changelog.sql?rev=688451&r1=688450&r2=688451&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_changelog.sql (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_changelog.sql Sat Aug 23 22:37:31 2008
@@ -11,6 +11,7 @@
CREATE TABLE CHANGELOG (
ID NUMERIC(20,0) NOT NULL,
+ APPLIED_AT VARCHAR(25) NOT NULL,
DESCRIPTION VARCHAR(255) NOT NULL
);