Merge pull request #20 from shapeblue/roles-usage-fix

APPLE-274: Add role_id to cloud_usage.account
This commit is contained in:
Rohit Yadav 2016-10-25 10:42:00 +05:30 committed by GitHub
commit 0841471cef
2 changed files with 13 additions and 6 deletions

View File

@ -103,10 +103,16 @@ public class Upgrade452to453 implements DbUpgrade {
s_logger.warn("cloud.account table already has the role_id column, skipping altering table and migration of accounts");
return;
} else {
throw new CloudRuntimeException("Unable to create column quota_calculated in table cloud_usage.cloud_usage", e);
throw new CloudRuntimeException("Unable to create column role_id in table cloud.account", e);
}
}
try (final PreparedStatement pstmt = conn.prepareStatement("ALTER TABLE `cloud_usage`.`account` ADD COLUMN `role_id` bigint(20) unsigned AFTER `type`")) {
pstmt.executeUpdate();
} catch (SQLException e) {
throw new CloudRuntimeException("Unable to create column role_id in table cloud_usage.account", e);
}
migrateAccountsToDefaultRoles(conn);
final Map<String, String> apiMap = PropertiesUtil.processConfigFile(new String[] { PropertiesUtil.getDefaultApiCommandsFileName() });

View File

@ -47,7 +47,7 @@ public class UsageDaoImpl extends GenericDaoBase<UsageVO, Long> implements Usage
public static final Logger s_logger = Logger.getLogger(UsageDaoImpl.class.getName());
private static final String DELETE_ALL = "DELETE FROM cloud_usage";
private static final String DELETE_ALL_BY_ACCOUNTID = "DELETE FROM cloud_usage WHERE account_id = ?";
private static final String INSERT_ACCOUNT = "INSERT INTO cloud_usage.account (id, account_name, type, domain_id, removed, cleanup_needed) VALUES (?,?,?,?,?,?)";
private static final String INSERT_ACCOUNT = "INSERT INTO cloud_usage.account (id, account_name, type, role_id, domain_id, removed, cleanup_needed) VALUES (?,?,?,?,?,?,?)";
private static final String INSERT_USER_STATS =
"INSERT INTO cloud_usage.user_statistics (id, data_center_id, account_id, public_ip_address, device_id, device_type, network_id, net_bytes_received,"
+ " net_bytes_sent, current_bytes_received, current_bytes_sent, agg_bytes_received, agg_bytes_sent) VALUES (?,?,?,?,?,?,?,?,?,?, ?, ?, ?)";
@ -116,16 +116,17 @@ public class UsageDaoImpl extends GenericDaoBase<UsageVO, Long> implements Usage
pstmt.setLong(1, acct.getId());
pstmt.setString(2, acct.getAccountName());
pstmt.setShort(3, acct.getType());
pstmt.setLong(4, acct.getDomainId());
pstmt.setLong(4, acct.getRoleId());
pstmt.setLong(5, acct.getDomainId());
Date removed = acct.getRemoved();
if (removed == null) {
pstmt.setString(5, null);
pstmt.setString(6, null);
} else {
pstmt.setString(5, DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), acct.getRemoved()));
pstmt.setString(6, DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), acct.getRemoved()));
}
pstmt.setBoolean(6, acct.getNeedsCleanup());
pstmt.setBoolean(7, acct.getNeedsCleanup());
pstmt.addBatch();
}