|
1 | 1 | --- MIGRATION Script from v1.4.0 to v1.4.1 |
2 | 2 |
|
3 | | --- Fixing uspConsumeEnrollments stored procedure |
| 3 | +-- OP-140 : Fixing uspConsumeEnrollments stored procedure |
4 | 4 |
|
5 | | -/****** Object: StoredProcedure [dbo].[uspConsumeEnrollments] ******/ |
6 | 5 | SET ANSI_NULLS ON |
7 | 6 | GO |
8 | 7 | SET QUOTED_IDENTIFIER ON |
@@ -890,12 +889,8 @@ ALTER PROCEDURE [dbo].[uspConsumeEnrollments]( |
890 | 889 |
|
891 | 890 | SELECT @PolicyImported = ISNULL(COUNT(1),0) FROM @tblPolicy WHERE isOffline = 1 |
892 | 891 |
|
893 | | - |
894 | | - |
895 | 892 |
|
896 | | - |
897 | | - |
898 | | - IF EXISTS(SELECT COUNT(1) |
| 893 | + IF EXISTS(SELECT COUNT(1) |
899 | 894 | FROM tblInsuree |
900 | 895 | WHERE ValidityTo IS NULL |
901 | 896 | AND IsHead = 1 |
@@ -963,10 +958,9 @@ ALTER PROCEDURE [dbo].[uspConsumeEnrollments]( |
963 | 958 | GO |
964 | 959 |
|
965 | 960 |
|
966 | | --- Fixing uspSSRSCapitationPayment stored procedure |
967 | 961 |
|
| 962 | +-- OP-141: Fixing uspSSRSCapitationPayment stored procedure |
968 | 963 |
|
969 | | -/****** Object: StoredProcedure [dbo].[uspSSRSCapitationPayment] ******/ |
970 | 964 | SET ANSI_NULLS ON |
971 | 965 | GO |
972 | 966 | SET QUOTED_IDENTIFIER ON |
@@ -1317,3 +1311,206 @@ DECLARE @Level1 CHAR(1) = NULL, |
1317 | 1311 |
|
1318 | 1312 | GROUP BY HFCode |
1319 | 1313 | END |
| 1314 | + |
| 1315 | + |
| 1316 | +-- OP-154: database partitioning |
| 1317 | + |
| 1318 | +-- Adds four new filegroups to the database |
| 1319 | +BEGIN TRY |
| 1320 | + BEGIN TRANSACTION; |
| 1321 | + |
| 1322 | + -- if the DATETIME provided in before 1970 then it goes to partition 1 else it goes to partition 2 |
| 1323 | + CREATE PARTITION FUNCTION [StillValid] (DATETIME) AS RANGE LEFT |
| 1324 | + FOR |
| 1325 | + VALUES ( |
| 1326 | + N'1970-01-01T00:00:00.001' |
| 1327 | + ) |
| 1328 | + |
| 1329 | + -- Create partition Scheme that will define the partition to be used, both use the PRIMARY file group (not IDEAL but done to limit changes in a crisis mode) |
| 1330 | + CREATE PARTITION SCHEME [liveArchive] AS PARTITION [StillValid] TO ( |
| 1331 | + [PRIMARY] |
| 1332 | + ,[PRIMARY] |
| 1333 | + ) |
| 1334 | + |
| 1335 | + ALTER TABLE tblClaimItems DROP CONSTRAINT [FK_tblClaimItems_tblClaim-ClaimID] |
| 1336 | + ALTER TABLE tblClaimServices DROP CONSTRAINT [FK_tblClaimServices_tblClaim-ClaimID] |
| 1337 | + ALTER TABLE tblFeedback DROP CONSTRAINT [FK_tblFeedback_tblClaim-ClaimID] |
| 1338 | + |
| 1339 | + -- Modular |
| 1340 | + IF OBJECT_ID('claim_ClaimAttachment') IS NOT NULL |
| 1341 | + BEGIN |
| 1342 | + ALTER TABLE claim_ClaimAttachment DROP CONSTRAINT claim_ClaimAttachment_claim_id_6d421217_fk_tblClaim_ClaimID |
| 1343 | + END |
| 1344 | + |
| 1345 | + IF OBJECT_ID('claim_ClaimMutation') IS NOT NULL |
| 1346 | + BEGIN |
| 1347 | + ALTER TABLE claim_ClaimMutation DROP CONSTRAINT claim_ClaimMutation_claim_id_22e307c0_fk_tblClaim_ClaimID |
| 1348 | + END |
| 1349 | + |
| 1350 | + ALTER TABLE [tblClaim] DROP CONSTRAINT [PK_tblClaim] |
| 1351 | + CREATE UNIQUE CLUSTERED INDEX CI_tblClaimValid ON tblClaim (ClaimID,ValidityTo) |
| 1352 | + WITH |
| 1353 | + ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, |
| 1354 | + IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON |
| 1355 | + ) ON liveArchive(ValidityTo) |
| 1356 | + |
| 1357 | + ALTER TABLE tblClaim ADD CONSTRAINT PK_tblClaim PRIMARY KEY NONCLUSTERED (ClaimID) ON [PRIMARY]; |
| 1358 | + CREATE INDEX NCI_tblClaim_DateClaimed ON [tblClaim](DateClaimed); |
| 1359 | + ALTER TABLE [tblClaimItems] ADD CONSTRAINT [FK_tblClaimItems_tblClaim-ClaimID] FOREIGN KEY(ClaimID) REFERENCES [tblClaim] (ClaimID) |
| 1360 | + ALTER TABLE [tblClaimServices] ADD CONSTRAINT [FK_tblClaimServices_tblClaim-ClaimID] FOREIGN KEY(ClaimID) REFERENCES [tblClaim] (ClaimID) |
| 1361 | + ALTER TABLE [tblFeedback] ADD CONSTRAINT [FK_tblFeedback_tblClaim-ClaimID] FOREIGN KEY(ClaimID) REFERENCES [tblClaim] (ClaimID) |
| 1362 | + |
| 1363 | + IF OBJECT_ID('claim_ClaimAttachment') IS NOT NULL |
| 1364 | + BEGIN |
| 1365 | + ALTER TABLE [claim_ClaimAttachment] ADD CONSTRAINT claim_ClaimAttachment_claim_id_6d421217_fk_tblClaim_ClaimID FOREIGN KEY(claim_id) REFERENCES [tblClaim] (ClaimID) |
| 1366 | + END |
| 1367 | + |
| 1368 | + IF OBJECT_ID('claim_ClaimMutation') IS NOT NULL |
| 1369 | + BEGIN |
| 1370 | + ALTER TABLE claim_ClaimMutation ADD CONSTRAINT claim_ClaimMutation_claim_id_22e307c0_fk_tblClaim_ClaimID FOREIGN KEY(claim_id) REFERENCES [tblClaim] (ClaimID) |
| 1371 | + END |
| 1372 | + |
| 1373 | + ALTER TABLE [tblClaimItems] DROP CONSTRAINT [PK_tblClaimItems] |
| 1374 | + CREATE UNIQUE CLUSTERED INDEX CI_tblClaimItemsValid ON tblClaimItems (ClaimItemID,ValidityTo) |
| 1375 | + WITH |
| 1376 | + ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, |
| 1377 | + IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON |
| 1378 | + ) ON liveArchive(ValidityTo) |
| 1379 | + ALTER TABLE tblClaimItems ADD CONSTRAINT PK_tblClaimItems PRIMARY KEY NONCLUSTERED (ClaimItemID) ON [PRIMARY]; |
| 1380 | + |
| 1381 | + ALTER TABLE [tblClaimServices] DROP CONSTRAINT [PK_tblClaimServices] |
| 1382 | + |
| 1383 | + CREATE UNIQUE CLUSTERED INDEX CI_tblClaimServicesValid ON tblClaimServices (ClaimServiceID,ValidityTo) |
| 1384 | + WITH |
| 1385 | + ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, |
| 1386 | + IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON |
| 1387 | + ) ON liveArchive(ValidityTo) |
| 1388 | + ALTER TABLE tblClaimServices ADD CONSTRAINT PK_tblClaimServices PRIMARY KEY NONCLUSTERED (ClaimServiceID) ON [PRIMARY]; |
| 1389 | + |
| 1390 | + ALTER TABLE tblInsuree DROP CONSTRAINT [FK_tblInsuree_tblFamilies1-FamilyID] |
| 1391 | + ALTER TABLE tblPolicy DROP CONSTRAINT [FK_tblPolicy_tblFamilies-FamilyID] |
| 1392 | + |
| 1393 | + ALTER TABLE [tblFamilies] DROP CONSTRAINT [PK_tblFamilies] |
| 1394 | + CREATE UNIQUE CLUSTERED INDEX CI_tblFamiliesValid ON tblFamilies (FamilyID,ValidityTo) |
| 1395 | + WITH |
| 1396 | + ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, |
| 1397 | + IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON |
| 1398 | + ) ON liveArchive(ValidityTo) |
| 1399 | + ALTER TABLE tblFamilies ADD CONSTRAINT PK_tblFamilies PRIMARY KEY NONCLUSTERED (FamilyID) ON [PRIMARY]; |
| 1400 | + |
| 1401 | + ALTER TABLE [tblInsuree] ADD CONSTRAINT [FK_tblInsuree_tblFamilies1-FamilyID] FOREIGN KEY(FamilyID) REFERENCES [tblFamilies] (FamilyID) |
| 1402 | + ALTER TABLE [tblPolicy] ADD CONSTRAINT [FK_tblPolicy_tblFamilies-FamilyID] FOREIGN KEY(FamilyID) REFERENCES [tblFamilies] (FamilyID) |
| 1403 | + |
| 1404 | + ALTER TABLE tblClaim DROP CONSTRAINT [FK_tblClaim_tblInsuree-InsureeID] |
| 1405 | + ALTER TABLE tblClaimDedRem DROP CONSTRAINT FK_tblClaimDedRem_tblInsuree |
| 1406 | + ALTER TABLE tblFamilies DROP CONSTRAINT FK_tblFamilies_tblInsuree |
| 1407 | + ALTER TABLE tblHealthStatus DROP CONSTRAINT FK_tblHealthStatus_tblInsuree |
| 1408 | + ALTER TABLE tblInsureePolicy DROP CONSTRAINT FK_tblInsureePolicy_tblInsuree |
| 1409 | + ALTER TABLE tblPolicyRenewalDetails DROP CONSTRAINT FK_tblPolicyRenewalDetails_tblInsuree |
| 1410 | + ALTER TABLE tblPolicyRenewals DROP CONSTRAINT FK_tblPolicyRenewals_tblInsuree |
| 1411 | + |
| 1412 | + ALTER TABLE [tblInsuree] DROP CONSTRAINT [PK_tblInsuree] |
| 1413 | + CREATE UNIQUE CLUSTERED INDEX CI_tblInsureeValid ON tblInsuree (InsureeID,ValidityTo) |
| 1414 | + WITH |
| 1415 | + ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, |
| 1416 | + IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON |
| 1417 | + ) ON liveArchive(ValidityTo) |
| 1418 | + ALTER TABLE tblInsuree ADD CONSTRAINT PK_tblInsuree PRIMARY KEY NONCLUSTERED (InsureeID) ON [PRIMARY]; |
| 1419 | + |
| 1420 | + ALTER TABLE [tblClaim] ADD CONSTRAINT [FK_tblClaim_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1421 | + ALTER TABLE [tblClaimDedRem] ADD CONSTRAINT [FK_tblClaimDedRem_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1422 | + ALTER TABLE [tblFamilies] ADD CONSTRAINT [FK_tblFamilies_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1423 | + ALTER TABLE [tblHealthStatus] ADD CONSTRAINT [FK_tblHealthStatus_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1424 | + ALTER TABLE [tblInsureePolicy] ADD CONSTRAINT [FK_tblInsureePolicy_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1425 | + ALTER TABLE [tblPolicyRenewalDetails] ADD CONSTRAINT [FK_tblPolicyRenewalDetails_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1426 | + ALTER TABLE [tblPolicyRenewals] ADD CONSTRAINT [FK_tblPolicyRenewals_tblInsuree-InsureeID] FOREIGN KEY(InsureeID) REFERENCES [tblInsuree] (InsureeID) |
| 1427 | + |
| 1428 | + ALTER TABLE tblHFCatchment DROP CONSTRAINT [FK_tblHFCatchment_tblLocations] |
| 1429 | + ALTER TABLE tblProduct DROP CONSTRAINT [FK_tblProduct_tblLocation] |
| 1430 | + ALTER TABLE tblUsersDistricts DROP CONSTRAINT [FK_tblUsersDistricts_tblLocations] |
| 1431 | + ALTER TABLE tblPayer DROP CONSTRAINT FK_tblPayer_tblLocations |
| 1432 | + ALTER TABLE tblPLServices DROP CONSTRAINT FK_tblPLServices_tblLocations |
| 1433 | + ALTER TABLE tblOfficerVillages DROP CONSTRAINT FK_tblOfficerVillages_tblLocations |
| 1434 | + ALTER TABLE tblPLItems DROP CONSTRAINT FK_tblPLItems_tblLocations |
| 1435 | + ALTER TABLE tblOfficer DROP CONSTRAINT FK_tblOfficer_tblLocations |
| 1436 | + ALTER TABLE tblHF DROP CONSTRAINT FK_tblHF_tblLocations |
| 1437 | + ALTER TABLE tblBatchRun DROP CONSTRAINT FK_tblBatchRun_tblLocations |
| 1438 | + ALTER TABLE tblFamilies DROP CONSTRAINT FK_tblFamilies_tblLocations |
| 1439 | + |
| 1440 | + ALTER TABLE [tblLocations] DROP CONSTRAINT [PK_tblLocations] |
| 1441 | + CREATE UNIQUE CLUSTERED INDEX CI_tblLocations ON tblLocations (LocationId,ValidityTo) |
| 1442 | + WITH |
| 1443 | + ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, |
| 1444 | + IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON |
| 1445 | + ) ON liveArchive(ValidityTo) |
| 1446 | + ALTER TABLE [tblLocations] ADD CONSTRAINT PK_tblLocations PRIMARY KEY NONCLUSTERED (LocationId) ON [PRIMARY]; |
| 1447 | + |
| 1448 | + ALTER TABLE tblHFCatchment ADD CONSTRAINT [FK_tblHFCatchment_tblLocation] FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1449 | + ALTER TABLE tblProduct ADD CONSTRAINT [FK_tblProduct_tblLocations] FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1450 | + ALTER TABLE tblUsersDistricts ADD CONSTRAINT [FK_tblUsersDistricts_tblLocations] FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1451 | + ALTER TABLE tblPayer ADD CONSTRAINT FK_tblPayer_tblLocations FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1452 | + ALTER TABLE tblPLServices WITH NOCHECK ADD CONSTRAINT FK_tblPLServices_tblLocations FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1453 | + ALTER TABLE tblOfficerVillages ADD CONSTRAINT FK_tblOfficerVillages_tblLocations FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1454 | + ALTER TABLE tblPLItems WITH NOCHECK ADD CONSTRAINT FK_tblPLItems_tblLocations FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1455 | + ALTER TABLE tblOfficer ADD CONSTRAINT FK_tblOfficer_tblLocations FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1456 | + ALTER TABLE tblHF ADD CONSTRAINT FK_tblHF_tblLocations FOREIGN KEY(LocationId) REFERENCES [tblLocations] (LocationId) |
| 1457 | + ALTER TABLE tblBatchRun ADD CONSTRAINT FK_tblBatchRun_tblLocations FOREIGN KEY(LocationID) REFERENCES [tblLocations] (LocationID) |
| 1458 | + ALTER TABLE tblFamilies ADD CONSTRAINT FK_tblFamilies_tblLocations FOREIGN KEY(LocationID) REFERENCES [tblLocations] (LocationID) |
| 1459 | + |
| 1460 | + CREATE NONCLUSTERED INDEX NCI_tblUserDistrict_UserID ON tblUsersDistricts (ValidityTo,UserID) |
| 1461 | + CREATE NONCLUSTERED INDEX NCI_tblUsers_UserUUID ON tblUsers (ValidityTo,UserUUID) |
| 1462 | + CREATE NONCLUSTERED INDEX NCI_tblUserRoles_UserID ON tblUserRoles (ValidityTo,UserID) |
| 1463 | + |
| 1464 | + COMMIT TRANSACTION; |
| 1465 | +END TRY |
| 1466 | +BEGIN CATCH |
| 1467 | + ROLLBACK TRANSACTION; |
| 1468 | +END CATCH |
| 1469 | + |
| 1470 | +-- OP-154: add indexed to Location views |
| 1471 | + |
| 1472 | +SET ANSI_NULLS ON |
| 1473 | +GO |
| 1474 | + |
| 1475 | +SET QUOTED_IDENTIFIER ON |
| 1476 | +GO |
| 1477 | + |
| 1478 | +ALTER VIEW [dbo].[tblWards] WITH SCHEMABINDING AS |
| 1479 | +SELECT LocationId WardId, ParentLocationId DistrictId, LocationCode WardCode, LocationName WardName, ValidityFrom, ValidityTo, LegacyId, AuditUserId, RowId |
| 1480 | +FROM [dbo].tblLocations |
| 1481 | +WHERE ValidityTo IS NULL |
| 1482 | +AND LocationType = N'W' |
| 1483 | +GO |
| 1484 | + |
| 1485 | +CREATE UNIQUE CLUSTERED INDEX CI_tblWards ON tblWards(WardId) |
| 1486 | +GO |
| 1487 | + |
| 1488 | +ALTER VIEW [dbo].[tblVillages] WITH SCHEMABINDING AS |
| 1489 | +SELECT LocationId VillageId, ParentLocationId WardId, LocationCode VillageCode, LocationName VillageName,MalePopulation, FemalePopulation, OtherPopulation, Families, ValidityFrom, ValidityTo, LegacyId, AuditUserId, RowId |
| 1490 | +FROM [dbo].tblLocations |
| 1491 | +WHERE ValidityTo IS NULL |
| 1492 | +AND LocationType = N'V' |
| 1493 | +GO |
| 1494 | + |
| 1495 | +CREATE UNIQUE CLUSTERED INDEX CI_tblVillages ON tblVillages(VillageId) |
| 1496 | +GO |
| 1497 | + |
| 1498 | +ALTER VIEW [dbo].[tblRegions] WITH SCHEMABINDING AS |
| 1499 | +SELECT LocationId RegionId, LocationCode RegionCode, LocationName RegionName, ValidityFrom, ValidityTo, LegacyId, AuditUserId, RowId |
| 1500 | +FROM [dbo].tblLocations |
| 1501 | +WHERE ValidityTo IS NULL |
| 1502 | +AND LocationType = N'R' |
| 1503 | +GO |
| 1504 | + |
| 1505 | +CREATE UNIQUE CLUSTERED INDEX CI_tblRegions ON tblRegions(RegionId) |
| 1506 | +GO |
| 1507 | + |
| 1508 | +ALTER VIEW [dbo].[tblDistricts] WITH SCHEMABINDING |
| 1509 | +AS |
| 1510 | +SELECT LocationId DistrictId, LocationCode DistrictCode, LocationName DistrictName, ParentLocationId Region, ValidityFrom, ValidityTo, LegacyId, AuditUserId, RowId |
| 1511 | +FROM [dbo].tblLocations |
| 1512 | +WHERE ValidityTo IS NULL |
| 1513 | +AND LocationType = N'D' |
| 1514 | +GO |
| 1515 | + |
| 1516 | +CREATE UNIQUE CLUSTERED INDEX CI_tblDistricts ON tblDistricts(DistrictId) |
0 commit comments