extending CreateTableChange

I am looking in 2.0.2:

Looks like most of the change classes use a default constructor, but LoadDataChange does have a constructor that takes a changeName and description.   Seems like you should be able to add the extra constructor to take the changeName and description which would provide you the opportunity to override the name and description. 

(Of course, I am fairly new to the product, so Nathan may now of there’s any other implications downstream from the constructor or any requirements about the name/descriptions fields that might be affected by you overriding them…)

I think you are right that changes should have a constructur that allows the setting of the name for extended classes. I created http://liquibase.jira.com/browse/CORE-1046 to track the feature


Nathan

Liquibase 2.0.1


CreateTableChange has no constructor with changeName/Description, so it’s hard to extend it.

Suppose I want to create refactoring which creates table with some predefined set of columns. Simplest way would be to subclass CreateTableChange and use init() method to addColumn(). But without proper constructor it’s impossible to register this change with different name (forget about reflection for a moment). So how should I do it? Or maybe there is an invisible “final” in CreateTableChange and I should create custom refactoring from scratch?