Skip to content

Commit

Permalink
CASCADE
Browse files Browse the repository at this point in the history
  • Loading branch information
dianaclarke committed May 8, 2021
1 parent 0c920b3 commit eb63243
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 23 deletions.
8 changes: 4 additions & 4 deletions conbench/entities/distribution.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
class Distribution(Base, EntityMixin):
__tablename__ = "distribution"
id = NotNull(s.String(50), primary_key=True, default=generate_uuid)
sha = NotNull(s.String(50))
case_id = NotNull(s.String(50), s.ForeignKey("case.id"))
context_id = NotNull(s.String(50), s.ForeignKey("context.id"))
machine_id = NotNull(s.String(50), s.ForeignKey("machine.id"))
sha = NotNull(s.String(50)) # TODO: should this be commit id?
case_id = NotNull(s.String(50), s.ForeignKey("case.id", ondelete="CASCADE"))
context_id = NotNull(s.String(50), s.ForeignKey("context.id", ondelete="CASCADE"))
machine_id = NotNull(s.String(50), s.ForeignKey("machine.id", ondelete="CASCADE"))
unit = NotNull(s.Text)
mean_mean = Nullable(s.Numeric, check("mean_mean>=0"))
mean_sd = Nullable(s.Numeric, check("mean_sd>=0"))
Expand Down
2 changes: 2 additions & 0 deletions conbench/entities/summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ def create(data):
summary.machine_id,
1000,
).first()

if distribution:
values = dict(distribution)
with engine.connect() as conn:
Expand All @@ -172,6 +173,7 @@ def create(data):
)
)
conn.commit()

return summary


Expand Down
29 changes: 10 additions & 19 deletions migrations/versions/b7ffcaaeb240_add_distribution.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,42 +36,33 @@ def upgrade():
sa.Column("first_timestamp", sa.DateTime(), nullable=False),
sa.Column("last_timestamp", sa.DateTime(), nullable=False),
sa.Column("observations", sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(
["case_id"],
["case.id"],
),
sa.ForeignKeyConstraint(
["context_id"],
["context.id"],
),
sa.ForeignKeyConstraint(
["machine_id"],
["machine.id"],
),
sa.ForeignKeyConstraint(["case_id"], ["case.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(["context_id"], ["context.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(["machine_id"], ["machine.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
"distribution_index",
"distribution",
["sha", "case_id", "context_id", "machine_id"],
unique=True,
)
op.create_index(
"distribution_case_id_index", "distribution", ["case_id"], unique=False
)
op.create_index(
"distribution_context_id_index", "distribution", ["context_id"], unique=False
)
op.create_index(
"distribution_index",
"distribution",
["sha", "case_id", "context_id", "machine_id"],
unique=True,
)
op.create_index(
"distribution_machine_id_index", "distribution", ["machine_id"], unique=False
)
op.create_index("distribution_sha_index", "distribution", ["sha"], unique=False)


def downgrade():
op.drop_index("distribution_index", table_name="distribution")
op.drop_index("distribution_sha_index", table_name="distribution")
op.drop_index("distribution_machine_id_index", table_name="distribution")
op.drop_index("distribution_index", table_name="distribution")
op.drop_index("distribution_context_id_index", table_name="distribution")
op.drop_index("distribution_case_id_index", table_name="distribution")
op.drop_table("distribution")

0 comments on commit eb63243

Please sign in to comment.