diff --git a/python/sdssdb/peewee/sdss5db/targetdb.py b/python/sdssdb/peewee/sdss5db/targetdb.py index eb6c5095..35bfd206 100644 --- a/python/sdssdb/peewee/sdss5db/targetdb.py +++ b/python/sdssdb/peewee/sdss5db/targetdb.py @@ -11,7 +11,7 @@ ManyToManyField, SmallIntegerField, TextField) from playhouse.postgres_ext import ArrayField -from . import BaseModel, database # noqa +from . import BaseModel, catalogdb, database # noqa class TargetdbBase(BaseModel): @@ -40,7 +40,7 @@ class Cadence(TargetdbBase): delta_max = ArrayField(field_class=FloatField, null=True) delta_min = ArrayField(field_class=FloatField, null=True) instrument_pk = ArrayField(field_class=IntegerField, null=True) - label = TextField(null=True) + label = TextField(null=False) nexposures = SmallIntegerField(null=True) pk = AutoField() skybrightness = ArrayField(field_class=FloatField, null=True) @@ -166,14 +166,12 @@ class Meta: class Program(TargetdbBase): category = ForeignKeyField(column_name='category_pk', field='pk', - model=Category, - null=True) - label = TextField(null=True) + model=Category) + label = TextField() pk = AutoField() survey = ForeignKeyField(column_name='survey_pk', field='pk', - model=Survey, - null=True) + model=Survey) version = ForeignKeyField(column_name='version_pk', field='pk', model=Version) @@ -183,7 +181,10 @@ class Meta: class Target(TargetdbBase): - catalogid = BigIntegerField(null=True) + catalog = ForeignKeyField(column_name='catalogid', + object_id_name='catalogid', + model=catalogdb.Catalog, + field='catalogid') dec = DoubleField(null=True) epoch = FloatField(null=True) magnitude = ForeignKeyField(column_name='magnitude_pk', @@ -204,15 +205,9 @@ class Target(TargetdbBase): instruments = ManyToManyField(Instrument, through_model=AssignmentDeferred, backref='targets') - programs = ManyToManyField(Program, - through_model=ProgramToTargetDeferred, - backref='targets') cadences = ManyToManyField(Cadence, through_model=ProgramToTargetDeferred, backref='targets') - versions = ManyToManyField(Version, - through_model=ProgramToTargetDeferred, - backref='targets') parallax = FloatField(null=True) class Meta: @@ -251,11 +246,6 @@ class ProgramToTarget(TargetdbBase): column_name='target_pk', field='pk', on_delete='CASCADE') - version = ForeignKeyField(Version, - column_name='version_pk', - field='pk', - null=True, - on_delete='CASCADE') class Meta: table_name = 'program_to_target' diff --git a/schema/sdss5db/targetdb/targetdb.sql b/schema/sdss5db/targetdb/targetdb.sql index 3e4ba463..dcf621d9 100644 --- a/schema/sdss5db/targetdb/targetdb.sql +++ b/schema/sdss5db/targetdb/targetdb.sql @@ -57,12 +57,11 @@ CREATE TABLE targetdb.program_to_target ( lambda_eff REAL, program_pk SMALLINT, target_pk BIGINT, - version_pk SMALLINT, cadence_pk SMALLINT); CREATE TABLE targetdb.cadence ( pk SERIAL PRIMARY KEY NOT NULL, - label TEXT, + label TEXT NOT NULL, nexposures SMALLINT, delta REAL[], skybrightness REAL[], @@ -176,11 +175,6 @@ ALTER TABLE ONLY targetdb.program_to_target FOREIGN KEY (cadence_pk) REFERENCES targetdb.cadence(pk) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY targetdb.program_to_target - ADD CONSTRAINT version_pk_fk - FOREIGN KEY (version_pk) REFERENCES targetdb.version(pk) - ON UPDATE CASCADE ON DELETE CASCADE; - ALTER TABLE ONLY targetdb.assignment ADD CONSTRAINT target_fk FOREIGN KEY (target_pk) REFERENCES targetdb.target(pk) @@ -253,7 +247,6 @@ CREATE INDEX CONCURRENTLY category_pk_idx ON targetdb.program using BTREE(catego CREATE INDEX CONCURRENTLY program_pk_idx ON targetdb.program_to_target using BTREE(program_pk); CREATE INDEX CONCURRENTLY target_pk_idx ON targetdb.program_to_target using BTREE(target_pk); CREATE INDEX CONCURRENTLY cadence_pk_idx ON targetdb.program_to_target using BTREE(cadence_pk); -CREATE INDEX CONCURRENTLY version_pk_idx ON targetdb.program_to_target using BTREE(version_pk); CREATE INDEX CONCURRENTLY assignment_target_pk_idx ON targetdb.assignment using BTREE(target_pk); CREATE INDEX CONCURRENTLY positioner_pk_idx ON targetdb.assignment using BTREE(positioner_pk);