Skip to content

Commit

Permalink
Merge pull request #14 from OCHA-DAP/sector_higher
Browse files Browse the repository at this point in the history
Move population status higher then population group, then org, then sector
  • Loading branch information
mcarans authored Dec 22, 2023
2 parents b178a87 + cee7be5 commit a1c22d9
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 28 deletions.
14 changes: 7 additions & 7 deletions src/hapi_schema/db_humanitarian_needs.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ class DBHumanitarianNeeds(Base):
admin2_ref: Mapped[int] = mapped_column(
ForeignKey("admin2.id", onupdate="CASCADE"), nullable=False
)
population_status_code: Mapped[str] = mapped_column(
ForeignKey("population_status.code", onupdate="CASCADE"),
nullable=True,
)
population_group_code: Mapped[str] = mapped_column(
ForeignKey("population_group.code", onupdate="CASCADE"), nullable=True
)
sector_code: Mapped[str] = mapped_column(
ForeignKey("sector.code", onupdate="CASCADE"), nullable=True
)
Expand All @@ -45,13 +52,6 @@ class DBHumanitarianNeeds(Base):
disabled_marker: Mapped[bool] = mapped_column(
Boolean, nullable=True, server_default=text("NULL")
)
population_group_code: Mapped[str] = mapped_column(
ForeignKey("population_group.code", onupdate="CASCADE"), nullable=True
)
population_status_code: Mapped[str] = mapped_column(
ForeignKey("population_status.code", onupdate="CASCADE"),
nullable=True,
)
population: Mapped[int] = mapped_column(
Integer, nullable=False, index=True
)
Expand Down
24 changes: 12 additions & 12 deletions src/hapi_schema/db_operational_presence.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ class DBOperationalPresence(Base):
admin2_ref: Mapped[int] = mapped_column(
ForeignKey("admin2.id", onupdate="CASCADE"), nullable=False
)
sector_code: Mapped[str] = mapped_column(
ForeignKey("sector.code", onupdate="CASCADE"), nullable=False
)
org_ref: Mapped[str] = mapped_column(
ForeignKey("org.id", onupdate="CASCADE"), nullable=False
)
sector_code: Mapped[str] = mapped_column(
ForeignKey("sector.code", onupdate="CASCADE"), nullable=False
)
reference_period_start: Mapped[datetime] = mapped_column(
DateTime, nullable=False, index=True
)
Expand All @@ -50,8 +50,8 @@ class DBOperationalPresence(Base):

resource = relationship("DBResource")
admin2 = relationship("DBAdmin2")
sector = relationship("DBSector")
org = relationship("DBOrg")
sector = relationship("DBSector")


view_params_operational_presence = ViewParams(
Expand All @@ -75,11 +75,11 @@ class DBOperationalPresence(Base):
DBAdmin2.code.label("admin2_code"),
DBAdmin2.name.label("admin2_name"),
DBAdmin2.is_unspecified.label("admin2_is_unspecified"),
DBSector.name.label("sector_name"),
DBOrg.acronym.label("org_acronym"),
DBOrg.name.label("org_name"),
DBOrg.org_type_code.label("org_type_code"),
DBOrgType.description.label("org_type_description")
DBOrgType.description.label("org_type_description"),
DBSector.name.label("sector_name")
).select_from(
# Join op to admin2 to admin1 to loc
DBOperationalPresence.__table__.join(
Expand Down Expand Up @@ -108,12 +108,6 @@ class DBOperationalPresence(Base):
DBResource.dataset_ref == DBDataset.id,
isouter=True,
)
# Join op to sector
.join(
DBSector.__table__,
DBOperationalPresence.sector_code == DBSector.code,
isouter=True,
)
# Join op to org to org type
.join(
DBOrg.__table__,
Expand All @@ -125,5 +119,11 @@ class DBOperationalPresence(Base):
DBOrg.org_type_code == DBOrgType.code,
isouter=True,
)
# Join op to sector
.join(
DBSector.__table__,
DBOperationalPresence.sector_code == DBSector.code,
isouter=True,
)
),
)
10 changes: 5 additions & 5 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ def engine():
session.execute(insert(DBLocation), data_location)
session.execute(insert(DBAdmin1), data_admin1)
session.execute(insert(DBAdmin2), data_admin2)
session.execute(insert(DBSector), data_sector)
session.execute(insert(DBGender), data_gender)
session.execute(insert(DBAgeRange), data_age_range)
session.execute(insert(DBPopulationStatus), data_population_status)
session.execute(insert(DBPopulationGroup), data_population_group)
session.execute(insert(DBOrg), data_org)
session.execute(insert(DBOrgType), data_org_type)
session.execute(insert(DBPopulationGroup), data_population_group)
session.execute(insert(DBPopulationStatus), data_population_status)
session.execute(insert(DBSector), data_sector)
session.execute(insert(DBIpcPhase), data_ipc_phase)
session.execute(insert(DBIpcType), data_ipc_type)
session.execute(insert(DBGender), data_gender)
session.execute(insert(DBAgeRange), data_age_range)
session.execute(insert(DBPopulation), data_population)
session.execute(insert(DBOperationalPresence), data_operational_presence)
session.execute(insert(DBFoodSecurity), data_food_security)
Expand Down
8 changes: 4 additions & 4 deletions tests/test_humanitarian_needs_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ def test_humanitarian_needs_view(run_view_test):
view_humanitarian_needs.c.admin2_code == "FOO-001-XXX",
view_humanitarian_needs.c.admin1_code == "FOO-001",
view_humanitarian_needs.c.location_code == "FOO",
view_humanitarian_needs.c.gender_code == "f",
view_humanitarian_needs.c.disabled_marker == True, # noqa: E712
view_humanitarian_needs.c.population_status_code == "inneed",
view_humanitarian_needs.c.population_group_code == "idps",
view_humanitarian_needs.c.sector_name
== "Water Sanitation Hygiene",
view_humanitarian_needs.c.population_group_code == "idps",
view_humanitarian_needs.c.population_status_code == "inneed",
view_humanitarian_needs.c.gender_code == "f",
view_humanitarian_needs.c.disabled_marker == True, # noqa: E712
),
)

0 comments on commit a1c22d9

Please sign in to comment.