Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated source link and version

...

Panel

Summary

Following tags for Oracle which are not supported by Liquibase Core were added:
1. AddCheck
2. AddDeferredPrimaryKey
3. RenameTrigger
4. CreateMaterializedView
5. CreateTrigger
6. DisableConstraint
7. DropCheck
8. DropTrigger
9. EnableConstraint
10. EncapsulateTableWithView
11. LongUpdate
12. Merge
13. Truncate
14. DropMaterizedView
15. EnableTrigger
16. DisableTrigger

Current Version

3.0.1

Author

Artur Kopacz, Damian Pezda, Ɓukasz Rejkowicz, Tomasz Wicherski, Nathan Voxland

SVN Git Repository

httphttps://liquibase.jiragithub.com/source/browse/CONTRIB/trunk/oracle-extensionsliquibase/liquibase-oracle

Supported Database

Oracle

Usage

To use, simply include the oracle-extentions.jar file in your classpath. And add the ora namespace to your xml root node:

Code Block

<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ora="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd
    http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">

...

Panel

SplitTable

Split table on two tables (with surrogate key only).

Sample
Code Block
<changeSet author="Tomek" id="0">
   <createTable tableName="TABLE1">
      <column name="one" type="integer"></column>
      <column name="two" type="varchar(10)"></column>
      <column name="three" type="number"></column>
      <column name="four" type="number"></column>
   </createTable>
</changeSet>

<changeSet author="tomek" id="1" context="transition">
   <ora:splitTable primaryKeyColumnName="three_id"
   splitTableName="TABLE1"
   newTableName="TABLE2"
   columnNameList="three,four"/>
</changeSet>
Available Attributes

splitTableName

Name of the split table [required]

splitTableSchemaName

Name of the split table schema

newTableName

Name of the new table [required]

newTableSchemaName

Name of the new table schema

columnNameList

List of column to move to the second table [required]

primaryKeyColumnName

Name of primary key column in new table (only surrogate key) [required]

Automatic Rollback Support : NO
Rolling Upgrade Support : YES

splitTable tag supports rolling upgrades through changeSet contexts. There are 3 available contexts:

  • basic - no context, refeactoring without rolling upgrade
  • transition - move database to transition state (two version of aplication work on the same database)
  • resulting - move databese to resulting (final) state from transition state
WARNING
  • Liquibase 2.0 doesn't support numeric precission(e.g. NUMBER(10,3)).
  • createTrigger extension is needed.
NOTE

"rolling upgrade" - the process of incrementally taking down parts of the system for upgrade, without affecting the overall functionality. (http://en.wikipedia.org/wiki/Downtime)

Files

Attachments
oldtrue