package com.constellio.app.modules.rm.migrations;
import com.constellio.app.entities.modules.MetadataSchemasAlterationHelper;
import com.constellio.app.entities.modules.MigrationResourcesProvider;
import com.constellio.app.entities.modules.MigrationScript;
import com.constellio.app.modules.rm.wrappers.Document;
import com.constellio.app.services.factories.AppLayerFactory;
import com.constellio.model.entities.schemas.MetadataValueType;
import com.constellio.model.services.schemas.builders.MetadataSchemaBuilder;
import com.constellio.model.services.schemas.builders.MetadataSchemaTypesBuilder;
public class RMMigrationTo6_1 implements MigrationScript {
@Override
public String getVersion() {
return "6.1";
}
@Override
public void migrate(String collection, MigrationResourcesProvider migrationResourcesProvider, AppLayerFactory appLayerFactory)
throws Exception {
new SchemaAlterationsFor6_1(collection, migrationResourcesProvider, appLayerFactory).migrate();
}
public static class SchemaAlterationsFor6_1 extends MetadataSchemasAlterationHelper {
protected SchemaAlterationsFor6_1(String collection, MigrationResourcesProvider provider, AppLayerFactory factory) {
super(collection, provider, factory);
}
@Override
protected void migrate(MetadataSchemaTypesBuilder typesBuilder) {
updateDocumentSchema(typesBuilder.getSchemaType(Document.SCHEMA_TYPE).getDefaultSchema());
}
private void updateDocumentSchema(MetadataSchemaBuilder document) {
document.createUndeletable(Document.PUBLISHED).setType(MetadataValueType.BOOLEAN).setDefaultValue(false);
}
}
}