/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.upgrade.v7_0_3; import com.liferay.portal.kernel.dao.db.DBInspector; import com.liferay.portal.kernel.upgrade.UpgradeProcess; import com.liferay.portal.upgrade.v7_0_3.util.GroupTable; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.Types; /** * @author Alberto Chaparro */ public class UpgradeGroup extends UpgradeProcess { @Override protected void doUpgrade() throws Exception { DatabaseMetaData databaseMetaData = connection.getMetaData(); DBInspector dbInspector = new DBInspector(connection); try (ResultSet rs = databaseMetaData.getColumns( dbInspector.getCatalog(), dbInspector.getSchema(), normalizeName("Group_", databaseMetaData), normalizeName("groupKey", databaseMetaData))) { if (rs.next()) { int columnSize = rs.getInt("COLUMN_SIZE"); int dataType = rs.getInt("DATA_TYPE"); if ((dataType != Types.VARCHAR) || (columnSize != 150)) { alter( GroupTable.class, new AlterColumnType("groupKey", "VARCHAR(150) null")); } } } } }