-
Notifications
You must be signed in to change notification settings - Fork 0
Release Notes Db Migrate
Roman Stumm edited this page Mar 22, 2016
·
8 revisions
- support for postgres column types "timestamptz" and "timetz" (reading from JDBC catalog)
- support for postgres column datatype "timestamp with time zone", "time with time zone" (parsing SQL scripts)
- fixed typos in logging message: require -> aquire
- auto-create lock table db_miglock (optional) for parallel execution (e.g. clustered environments)
- Fatal bug in dbmigrate fixed (Bug affects version 2.5.19 - 2.5.22): DBVersionMeta.toSQLDelete() + UpdateVersionScriptVisitor.deleteVersion() could execute wrong sql statement. effect: busy-lock remains in db_Version table exception: ERROR dbmigrate.util.BusyLocker - Failed to delete busy-lock org.postgresql.util.PSQLException: No value specified for parameter 2.
- lock-busy: prevent parallel execution.
- DatabaseSchemaChecker: support check on unnamed foreign keys. log info when "on delete" rule not equal
- dependencies: update version of junit, log4j, slf4j, xstream, commons-net, joda-time
- ResultSetDelegate class: new method getResultSet()
(no changes on dbmigrate)
- improving mysql-support:
- support "create table IF NOT EXISTS"
- support "CHARACTER SET" clause
- support "INDEX" alternative to "KEY" when creating an index for a table
- support foreign key with ON DELETE CASCADE
- support column type "bool"
- support default precision for column type "INT" = 11
- fixed parsing default values of nullable column
- handle timestamp-columns with default-value as not-nullable
- tolerate wrong precision returned by jdbc-driver for numeric column types
- added default value for blob, MEDIUMBLOB
- support BIT as BOOL and BOOLEAN type name
- clearify error message for missing column
- support "INT UNSIGNED"
- support optional indexName for tableIndex
- removed or optional dependencies to log4j (using slf4j-api)
- support for Sql scripts generated by eclipselink (no ; between statements but linefeeds instead) (support for DatabaseSchemaChecker with options for file format)
April 2013
- Wiki documentation improved, more best-practise examples for spring integration and maven integration of dbmigrate
- support for mysql database (incl DatabaseSchemaChecker)
- ddl descriptions for mysql, postgres and oracle extracted to xml files
- postgres 9.1 is a little picky when committing a transaction that is in autoCommit-mode, so avoid problems with invalid commit/rollback calls
- less exceptions and less calls to rollback/commit, none when connection in autocommit mode, transactions implicit running when connection established
- upgrade commons-io from 2.3 to 2.4
- several dependencies upgraded and use of deprecated APIs reduced: junit 4.8.2-> 4.10 dbunit 2.2 -> 2.4.8 jdom 1.0 -> 1.1 groovy-all 1.6.2 -> 1.8.6 commons-lang 2.4 -> 2.6
- reading more URLs for groovy scripts, not only first match
- new "exitJVM" property supported for DBMigrateBean
- improved resolution of paths (with white spaces) under Windows
- improved resolution of .. paths in URLs inside a webapp container
- new env-property FAIL_ON_ERROR (allow fail of initial jdbc connect)
- improved messages logged
- improved error handling
- DatabaseSchemaChecker/DDLScriptSqlMetaFactory supports drop-table, drop-sequence, drop-constraint, drop column, drop not-null
- configuration possible without a migrateconfig.xml file
- new parameter -base for AutoMigrationTool
- DBMigrateSpring Spring Integration (e.g. using dbmigrate in tomcat or jetty)
- Maven Integration (invoking dbmigrate from a maven pom.xml)
- Improved reading resources (upgrade-scripts etc.) from jar: or directory (file:)
- Changed artifactId from com.agimatec to de.viaboxx
- Published artifacts to maven central.
- FileUtils removed from dbmigrate (moved to nlsTools)
ADDED:
- HSQLDB support
CHANGES:
- reconnect if initial connection failed
- log4j upgrade from 1.2.14 to 1.2.16
- System properties overrule the values in "env" map! (This behavior has changed since version 2.3.3!). System Properties now overrule configured environment entries
- ReconnectScriptVisitor logs reconnect error as DEBUG instead of ERROR FIXED:
- bug parsing foreign key (postgres) fixed
- groovy dependencies optional (causing unwanted problems with grails)
- SQLScriptParser now also handles JdbcExceptions with FAIL_ON_ERROR=false
- better exception handling when subscript URL not found
- Supporting additional script dirs for Groovy Scripts (issue #4 fixed)
<list name="GroovyScripts">
<file dir="cp://dbmigrate/scripts/" relative="false" file=""/>
</list>
- replace propierties in TextNode also
Fixes and improvements for grails-support
- Fixes for running groovy scripts (using Context classloader, script dir)
- Version format now flexible (1.0.0 or 1-0-0 or 1_0_0 => all the same)
- Script-Prefix configuration parameter
- auto-version configuration parameter: set current version during migration automatically
- auto-create configuration parameter: create db_version table automatically
- New grails plugin to integrate dbmigrate into a grails project: http://code.google.com/p/viaboxx-dbmigrate/.
- dbmigrate works also when all scripts and configs are packaged in a jar or war archive (former releases only supported file: access. this release supports classpath access with the cp: protocol)
- many dependencies now optional (because of version conflicts with grails)
doctype for dozer5.0 fixed 3rd party libs upgraded
- copyFiles operation
- property replacement in environment improved (in nested collections)
- fixed NullPointerException in performActions() when script type is unknown
- fixed EmptyStackException when #if #endif inconsistently used
- new features for templates (accessing static methods, provide custom properties)
- reading triggers from database catalog in a better way
- explicitly supports oracle, postgres
- migrate/setup/alter database
- sql, groovy, xml scripts