From 68a967c73cdedc8991d270d7c64eb2760010613b Mon Sep 17 00:00:00 2001 From: Masato Onodera Date: Thu, 29 Jan 2026 17:46:00 -1000 Subject: [PATCH] Add is_gc_neighbor and is_dense_region columns to fluxstd table Add two boolean columns to the fluxstd table for flagging flux standard stars near globular clusters and in dense stellar regions. These flags will be populated for new catalog versions. Also updates obj_id comment to be more general (not Gaia EDR3 specific). Co-Authored-By: Claude Opus 4.5 --- ...1f_add_gc_neighbor_and_is_dense_region_.py | 40 ++++++++++++++++++ .../erdiagram_targetdb-20260129174351.pdf | Bin 0 -> 47880 bytes src/targetdb/models/fluxstd.py | 18 +++++++- 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 alembic/pfsa-db01-gb/alembic/versions/20260129-172838_a251bdccb11f_add_gc_neighbor_and_is_dense_region_.py create mode 100644 diagrams/erdiagram_targetdb-20260129174351.pdf diff --git a/alembic/pfsa-db01-gb/alembic/versions/20260129-172838_a251bdccb11f_add_gc_neighbor_and_is_dense_region_.py b/alembic/pfsa-db01-gb/alembic/versions/20260129-172838_a251bdccb11f_add_gc_neighbor_and_is_dense_region_.py new file mode 100644 index 0000000..3b97b8f --- /dev/null +++ b/alembic/pfsa-db01-gb/alembic/versions/20260129-172838_a251bdccb11f_add_gc_neighbor_and_is_dense_region_.py @@ -0,0 +1,40 @@ +"""add gc_neighbor and is_dense_region columns + +Revision ID: a251bdccb11f +Revises: 385b6cdf44f7 +Create Date: 2026-01-29 17:28:38.712851 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'a251bdccb11f' +down_revision = '385b6cdf44f7' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('fluxstd', sa.Column('is_gc_neighbor', sa.Boolean(), nullable=True, comment='Flag for globular cluster neighbor')) + op.add_column('fluxstd', sa.Column('is_dense_region', sa.Boolean(), nullable=True, comment='Flag for dense stellar region')) + op.alter_column('fluxstd', 'obj_id', + existing_type=sa.BIGINT(), + comment='source_id (e.g., Gaia EDR3, DR3, etc.)', + existing_comment='Gaia EDR3 sourceid', + existing_nullable=False) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column('fluxstd', 'obj_id', + existing_type=sa.BIGINT(), + comment='Gaia EDR3 sourceid', + existing_comment='source_id (e.g., Gaia EDR3, DR3, etc.)', + existing_nullable=False) + op.drop_column('fluxstd', 'is_dense_region') + op.drop_column('fluxstd', 'is_gc_neighbor') + # ### end Alembic commands ### diff --git a/diagrams/erdiagram_targetdb-20260129174351.pdf b/diagrams/erdiagram_targetdb-20260129174351.pdf new file mode 100644 index 0000000000000000000000000000000000000000..df57a96eccb39e83ae8dbfec0ecbf5ab04d3f541 GIT binary patch literal 47880 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 HVd(z@$9$IA literal 0 HcmV?d00001 diff --git a/src/targetdb/models/fluxstd.py b/src/targetdb/models/fluxstd.py index 5fa6ca6..e3fe659 100644 --- a/src/targetdb/models/fluxstd.py +++ b/src/targetdb/models/fluxstd.py @@ -51,8 +51,8 @@ class fluxstd(Base): obj_id = Column( BigInteger, nullable=False, - comment="Gaia EDR3 sourceid", - ) # xxxx: need to understand more + comment="source_id (e.g., Gaia EDR3, DR3, etc.)", + ) ra = Column(Float, nullable=False, comment="RA (ICRS, degree)") dec = Column(Float, nullable=False, comment="Dec (ICRS, degree)") @@ -209,6 +209,16 @@ class fluxstd(Base): default=False, comment="Flag for F-star from Gaia (Teff=6000-7500K if True)", ) + is_gc_neighbor = Column( + Boolean, + default=False, + comment="Flag for globular cluster neighbor", + ) + is_dense_region = Column( + Boolean, + default=False, + comment="Flag for dense stellar region", + ) # version string version = Column( @@ -302,6 +312,8 @@ def __init__( teff_gspphot_lower, teff_gspphot_upper, is_fstar_gaia, + is_gc_neighbor, + is_dense_region, version, created_at, updated_at, @@ -364,5 +376,7 @@ def __init__( self.teff_gspphot_lower = teff_gspphot_lower self.teff_gspphot_upper = teff_gspphot_upper self.is_fstar_gaia = is_fstar_gaia + self.is_gc_neighbor = is_gc_neighbor + self.is_dense_region = is_dense_region self.created_at = created_at self.updated_at = updated_at