/* * Copyright 2014-2016 CyberVision, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kaaproject.kaa.server.datamigration; import static org.kaaproject.kaa.server.datamigration.utils.datadefinition.Constraint.constraint; import static org.kaaproject.kaa.server.datamigration.utils.datadefinition.ReferenceOptions.CASCADE; import java.sql.Connection; import java.sql.SQLException; public class CtlConfigurationMigration extends AbstractCtlMigration { public CtlConfigurationMigration(Connection connection) { super(connection); } @Override public void beforeTransform() throws SQLException { super.beforeTransform(); // change FK constraint between table that contains data and appropriate <feature>_schems table dd.dropUnnamedFk("configuration", "configuration_schems"); dd.alterTable(getPrefixTableName()) .add(constraint("FK_configuration_schems_id") .foreignKey("configuration_schems_id") .references("configuration_schems", "id") .onDelete(CASCADE) .onUpdate(CASCADE) ) .execute(); } @Override protected String getPrefixTableName() { return "configuration"; } }