package er.corebusinesslogic.migrations; import com.webobjects.eocontrol.EOEditingContext; import com.webobjects.foundation.NSArray; import er.extensions.foundation.ERXProperties; import er.extensions.migration.ERXMigrationDatabase; import er.extensions.migration.ERXMigrationTable; import er.extensions.migration.ERXModelVersion; /** * * @property ERCoreBusinessLogic0.languages */ public class ERCoreBusinessLogic0 extends ERXMigrationDatabase.Migration { public ERCoreBusinessLogic0() { super(ERXProperties.arrayForKey("ERCoreBusinessLogic0.languages")); } @Override public NSArray<ERXModelVersion> modelDependencies() { return null; } @Override public void downgrade(EOEditingContext editingContext, ERXMigrationDatabase database) throws Throwable { // DO NOTHING } @Override public void upgrade(EOEditingContext editingContext, ERXMigrationDatabase database) throws Throwable { ERXMigrationTable eRCAuditBlobTable = database.newTableNamed("ERCAuditBlob"); eRCAuditBlobTable.newBlobColumn("BLOB_VALUE", NOT_NULL); eRCAuditBlobTable.newIntegerColumn("ID", NOT_NULL); eRCAuditBlobTable.create(); eRCAuditBlobTable.setPrimaryKey("ID"); ERXMigrationTable eRCAuditTrailTable = database.newTableNamed("ERCAuditTrail"); eRCAuditTrailTable.newStringColumn("GID", 255, ALLOWS_NULL); eRCAuditTrailTable.newIntegerColumn("ID", NOT_NULL); eRCAuditTrailTable.newIntBooleanColumn("IS_DELETED", NOT_NULL); eRCAuditTrailTable.create(); eRCAuditTrailTable.setPrimaryKey("ID"); ERXMigrationTable eRCAuditTrailEntryTable = database.newTableNamed("ERCAuditTrailEntry"); eRCAuditTrailEntryTable.newTimestampColumn("CREATED", NOT_NULL); eRCAuditTrailEntryTable.newIntegerColumn("ID", NOT_NULL); eRCAuditTrailEntryTable.newStringColumn("KEY_PATH", 100, ALLOWS_NULL); eRCAuditTrailEntryTable.newIntegerColumn("NEW_BLOB_VALUE_ID", ALLOWS_NULL); eRCAuditTrailEntryTable.newStringColumn("NEW_VALUES", 1000, ALLOWS_NULL); eRCAuditTrailEntryTable.newIntegerColumn("OLD_BLOB_VALUE_ID", ALLOWS_NULL); eRCAuditTrailEntryTable.newStringColumn("OLD_VALUES", 1000, ALLOWS_NULL); eRCAuditTrailEntryTable.newIntegerColumn("TRAIL_ID", NOT_NULL); eRCAuditTrailEntryTable.newStringColumn("TYPE", 50, NOT_NULL); eRCAuditTrailEntryTable.newStringColumn("USER_GLOBAL_ID", 255, ALLOWS_NULL); eRCAuditTrailEntryTable.newBlobColumn("USER_INFO", ALLOWS_NULL); eRCAuditTrailEntryTable.create(); eRCAuditTrailEntryTable.setPrimaryKey("ID"); eRCAuditTrailEntryTable.addForeignKey("NEW_BLOB_VALUE_ID", "ERCAuditBlob", "id"); eRCAuditTrailEntryTable.addForeignKey("OLD_BLOB_VALUE_ID", "ERCAuditBlob", "id"); eRCAuditTrailEntryTable.addForeignKey("TRAIL_ID", "ERCAuditTrail", "id"); ERXMigrationTable eRCHelpTextTable = database.newTableNamed("ERCHELP_TEXT"); eRCHelpTextTable.newIntegerColumn("ID", NOT_NULL); eRCHelpTextTable.newStringColumn("KEY_", 100, NOT_NULL); eRCHelpTextTable.newLocalizedClobColumns("VALUE_", ALLOWS_NULL); eRCHelpTextTable.create(); eRCHelpTextTable.setPrimaryKey("ID"); ERXMigrationTable eRCLogEntryTable = database.newTableNamed("ERCLOG_ENTRY"); eRCLogEntryTable.newTimestampColumn("CREATED", NOT_NULL); eRCLogEntryTable.newIntegerColumn("ID", NOT_NULL); eRCLogEntryTable.newClobColumn("TEXT_", NOT_NULL); eRCLogEntryTable.newIntegerColumn("USER_ID", NOT_NULL); eRCLogEntryTable.create(); eRCLogEntryTable.setPrimaryKey("ID"); ERXMigrationTable eRCPreferenceTable = database.newTableNamed("ERCPREFER"); eRCPreferenceTable.newIntegerColumn("ID", NOT_NULL); eRCPreferenceTable.newStringColumn("KEY_", 100, NOT_NULL); eRCPreferenceTable.newIntegerColumn("USER_ID", ALLOWS_NULL); eRCPreferenceTable.newClobColumn("VALUE_", ALLOWS_NULL); eRCPreferenceTable.create(); eRCPreferenceTable.setPrimaryKey("ID"); ERXMigrationTable eRCStaticTable = database.newTableNamed("ERCSTATIC"); eRCStaticTable.newIntegerColumn("ID", NOT_NULL); eRCStaticTable.newStringColumn("KEY_", 100, NOT_NULL); eRCStaticTable.newStringColumn("VALUE_", 1000, ALLOWS_NULL); eRCStaticTable.create(); eRCStaticTable.setPrimaryKey("ID"); } }