Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR removes the tblLogins table and its demo data from the database seed/dump artifacts, and updates build tooling to reference the relocated demo_db.sql and adjust published Docker image tags.
Changes:
- Dropped
tblLoginsfrom schema dump, seed data, and migration table list. - Updated scripts/Dockerfile to load demo SQL from
scripts/demo_db.sqlinstead ofdatabase scripts/. - Changed GitHub Actions tagging so the “empty/base” image is published under the plain tag and the demo image under a
-demosuffix.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/demo_db.sql | Removes demo inserts for tblLogins. |
| migtool/tables.txt | Removes tblLogins from the migration table list. |
| database scripts/00_dump.sql | Removes tblLogins DDL/constraints and trims/relocates some seed data. |
| concatenate_files.sh | Updates concatenation to pull demo SQL from scripts/. |
| Dockerfile | Updates demo stage to copy scripts/demo_db.sql. |
| .github/workflows/docker.yml | Changes image tag naming: base => ${tag}, demo => ${tag}-demo. |
| .github/workflows/docker-dev-cd.yml | Same tag naming change for develop builds. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ); | ||
|
|
||
|
|
||
| -- ALTER TABLE "public"."tblLogins" OWNER TO "postgres"; |
There was a problem hiding this comment.
tblLogins is removed in this PR, but this leftover commented “ALTER TABLE tblLogins OWNER …” line is now misleading and makes the dump look incomplete. Please remove this line (and any similar tblLogins remnants nearby) to keep the dump consistent with the schema.
| -- ALTER TABLE "public"."tblLogins" OWNER TO "postgres"; |
| -- DATA load | ||
|
|
||
| set search_path to public; | ||
| -- tblLanguages (en added in empty db) | ||
| INSERT INTO "tblLanguages" ("LanguageCode", "LanguageName", "SortOrder") VALUES (N'fr', N'Français', NULL); | ||
|
|
||
| -- tblGender | ||
| INSERT INTO "tblGender" ("Code", "Gender", "AltLanguage", "SortOrder") VALUES (N'F', N'Female', NULL, 2); | ||
| INSERT INTO "tblGender" ("Code", "Gender", "AltLanguage", "SortOrder") VALUES (N'M', N'Male', NULL, 1); | ||
| INSERT INTO "tblGender" ("Code", "Gender", "AltLanguage", "SortOrder") VALUES (N'O', N'Other', NULL, 3); | ||
|
|
||
| -- tblLegalForms | ||
| INSERT INTO "tblLegalForms" ("LegalFormCode", "LegalForms", "SortOrder", "AltLanguage") VALUES (N'C', N'Charity', NULL, N'Charité'); | ||
| INSERT INTO "tblLegalForms" ("LegalFormCode", "LegalForms", "SortOrder", "AltLanguage") VALUES (N'D', N'District organization', NULL, N'Organisation du district'); | ||
| INSERT INTO "tblLegalForms" ("LegalFormCode", "LegalForms", "SortOrder", "AltLanguage") VALUES (N'G', N'Government', NULL, N'Gouvernement'); | ||
| INSERT INTO "tblLegalForms" ("LegalFormCode", "LegalForms", "SortOrder", "AltLanguage") VALUES (N'P', N'Private organization', NULL, N'Organisation privée'); | ||
|
|
||
| -- tblFamilyTypes | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'C', N'Council', NULL, N'Conseil'); | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'G', N'Organization', NULL, N'Organisation'); | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'H', N'Household', NULL, N'Ménage'); | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'O', N'Other', NULL, N'Autre'); | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'P', N'Priests', NULL, N'Prètres'); | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'S', N'Students', NULL, N'Etudiants'); | ||
| INSERT INTO "tblFamilyTypes" ("FamilyTypeCode", "FamilyType", "SortOrder", "AltLanguage") VALUES (N'T', N'Teachers', NULL, N'Enseignant'); | ||
|
|
||
| -- tblProfessions | ||
| INSERT INTO "tblProfessions" ("ProfessionId", "Profession", "SortOrder", "AltLanguage") VALUES (1, N'Housewife', NULL, N'Femme au foyer'); | ||
| INSERT INTO "tblProfessions" ("ProfessionId", "Profession", "SortOrder", "AltLanguage") VALUES (2, N'Employee', NULL, N'Employé'); | ||
| INSERT INTO "tblProfessions" ("ProfessionId", "Profession", "SortOrder", "AltLanguage") VALUES (3, N'Self Employee', NULL, N'Indépendant'); | ||
| INSERT INTO "tblProfessions" ("ProfessionId", "Profession", "SortOrder", "AltLanguage") VALUES (4, N'Others', NULL, N'Autres'); | ||
|
|
||
| -- tblRelations | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (1, N'Brother/Sister', NULL, N'Frère/soeur'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (2, N'Father/Mother', NULL, N'Père/Mère'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (3, N'Uncle/Aunt', NULL, N'Oncle/tante'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (4, N'Son/Daughter', NULL, N'Fils/fille'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (5, N'Grand parents', NULL, N'Grands/parents'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (6, N'Employee', NULL, N'Employé'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (7, N'Others', NULL, N'Autres'); | ||
| INSERT INTO "tblRelations" ("RelationId", "Relation", "SortOrder", "AltLanguage") VALUES (8, N'Spouse', NULL, N'Époux'); | ||
|
|
||
| -- tblConfirmationTypes | ||
| INSERT INTO "tblConfirmationTypes" ("ConfirmationTypeCode", "ConfirmationType", "SortOrder", "AltLanguage") VALUES (N'A', N'Local council', NULL, N'Conseil local'); | ||
| INSERT INTO "tblConfirmationTypes" ("ConfirmationTypeCode", "ConfirmationType", "SortOrder", "AltLanguage") VALUES (N'B', N'Municipality', NULL, N'Municipalité'); | ||
| INSERT INTO "tblConfirmationTypes" ("ConfirmationTypeCode", "ConfirmationType", "SortOrder", "AltLanguage") VALUES (N'C', N'State', NULL, N'Etat'); | ||
| INSERT INTO "tblConfirmationTypes" ("ConfirmationTypeCode", "ConfirmationType", "SortOrder", "AltLanguage") VALUES (N'D', N'Other', NULL, N'Autre'); | ||
|
|
||
| -- tblControls | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'BeneficiaryCard', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'ClaimAdministrator', N'M', N'FindClaim, Claim, ClaimReview, ClaimFeedback'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'Confirmation', N'O', N'Family, Insuree, OverviewFamily, ChangeFamily'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'ConfirmationNo', N'O', N'Family, Insuree, FindFamily, OverviewFamily, ChangeFamily'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'ContributionCategory', N'O', N'Premium, FindPremium'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'CurrentAddress', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'CurrentDistrict', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'CurrentMunicipality', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'CurrentVillage', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'Education', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'FamilyType', N'O', N'Family, ChangeFamily'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'FSP', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'FSPCategory', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'FSPDistrict', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'GuaranteeNo', N'O', N'Claim, ClaimReview'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'IdentificationNumber', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'IdentificationType', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'InsureeEmail', N'O', N'Family, Insuree, FindFamily'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'MaritalStatus', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'PermanentAddress', N'O', N'Family, Insuree, ChangeFamily'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'Poverty', N'O', N'Family, Insuree, Policy, Premium, FindFamily, ChangeFamily'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'Profession', N'O', N'Family, Insuree'); | ||
| INSERT INTO "tblControls" ("FieldName", "Adjustibility", "Usage") VALUES (N'Relationship', N'O', N'Insuree'); | ||
|
|
||
| -- tblEducations | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (1, N'Nursery', NULL, N'Garderie'); | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (2, N'Primary school', NULL, N'École primaire'); | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (3, N'Secondary school', NULL, N'École secondaire'); | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (4, N'University', NULL, N'Université'); | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (5, N'Postgraduate studies', NULL, N'Études supérieures'); | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (6, N'PHD', NULL, N'Doctorat'); | ||
| INSERT INTO "tblEducations" ("EducationId", "Education", "SortOrder", "AltLanguage") VALUES (7, N'Other', NULL, N'Autre'); | ||
|
|
||
|
|
||
| -- tblIMISDefaults | ||
|
|
||
|
|
||
| -- |
There was a problem hiding this comment.
There are a couple of documentation/clarity issues introduced in the seed section: (1) the -- \t line (8808) is stray/blank and should be removed; (2) the comment -- tblUser should match the actual table name (tblUsers) to avoid confusion in a database dump/seed script.
| -- Main admin | ||
|
|
||
| -- tblUser | ||
| INSERT INTO "public"."tblUsers" ("UserID", "LanguageID", "LastName", "OtherNames", "Phone", "LoginName", "RoleID", "HFID", "ValidityFrom", "ValidityTo", "LegacyID", "AuditUserID", "password", "DummyPwd", "EmailId", "StoredPassword", "PrivateKey", "PasswordValidity", "IsAssociated", "UserUUID") VALUES (1, N'en', N'Admin', N'Admin', N'', N'Admin', 1023, NULL, CAST(N'2018-03-19T08:54:48.923' AS timestamptz), NULL, NULL, 2, 'x001699E55A06FA79F4CA0D06EF15096C02000000DF691E2CE66AA7ABDF65B3E6210C1C04CAAE1A3B1FEE5E266B5FAF4F7D4E95109C92E3205F0145CC'::bytea, NULL, N'test@testing.com', N'59E66831C680C19E8736751D5480A7C3291BD8775DF47C19C4D0361FBC1C3438', N'C1C224B03CD9BC7B6A86D77F5DACE40191766C485CD55DC48CAF9AC873335D6F', NULL, NULL, N'281953c0-1c1a-4cf8-b93c-8e8b33c617c2'); |
There was a problem hiding this comment.
There are a couple of documentation/clarity issues introduced in the seed section: (1) the -- \t line (8808) is stray/blank and should be removed; (2) the comment -- tblUser should match the actual table name (tblUsers) to avoid confusion in a database dump/seed script.
| docker build . --target base --tag ghcr.io/openimis/openimis-pgsql:${{ github.event.inputs.tag }} | ||
| docker push ghcr.io/openimis/openimis-pgsql:${{ github.event.inputs.tag }} | ||
| - name: Build the pgsql DEMO Docker image | ||
| run: | | ||
| docker build . --tag ghcr.io/openimis/openimis-pgsql:${{ github.event.inputs.tag }} | ||
| docker push ghcr.io/openimis/openimis-pgsql:${{ github.event.inputs.tag }} | ||
| docker build . --tag ghcr.io/openimis/openimis-pgsql:${{ github.event.inputs.tag }}-demo | ||
| docker push ghcr.io/openimis/openimis-pgsql:${{ github.event.inputs.tag }}-demo |
There was a problem hiding this comment.
This changes the published tag contract: ${tag} now points to the base/empty image (via --target base) and ${tag}-demo points to the demo image. That’s a breaking change for any consumers currently pulling ${tag} expecting the demo image (as per the previous workflow). Consider publishing BOTH tags for one transition period (e.g., also push ${tag}-base and/or also push ${tag} for demo), or explicitly document/update downstream references in the repo in the same PR.
| docker build . --tag ghcr.io/openimis/openimis-pgsql:develop --target base | ||
| docker push ghcr.io/openimis/openimis-pgsql:develop | ||
| - name: Build the pgsql DEMO Docker image | ||
| run: | | ||
| docker build . --tag ghcr.io/openimis/openimis-pgsql:develop | ||
| docker push ghcr.io/openimis/openimis-pgsql:develop | ||
| docker build . --tag ghcr.io/openimis/openimis-pgsql:develop-demo | ||
| docker push ghcr.io/openimis/openimis-pgsql:develop-demo |
There was a problem hiding this comment.
Similarly for the develop channel, the develop tag now publishes the base/empty image, which can break environments that track develop and expect the demo dataset. If this is intentional, it should be paired with an explicit migration path (e.g., keep pushing develop demo as well, or update any deployment manifests/README references that pull develop).



No description provided.