diff --git a/alembic/versions/3bd8552f1c57_add_unique_constraint_to_task_order_.py b/alembic/versions/3bd8552f1c57_add_unique_constraint_to_task_order_.py index 01794a93..24a0fcfa 100644 --- a/alembic/versions/3bd8552f1c57_add_unique_constraint_to_task_order_.py +++ b/alembic/versions/3bd8552f1c57_add_unique_constraint_to_task_order_.py @@ -18,11 +18,11 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.create_unique_constraint(None, 'task_orders', ['number']) + op.create_unique_constraint('task_orders_number_key', 'task_orders', ['number']) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint(None, 'task_orders', type_='unique') + op.drop_constraint('task_orders_number_key', 'task_orders', type_='unique') # ### end Alembic commands ### diff --git a/atst/domain/task_orders.py b/atst/domain/task_orders.py index ce4ba77b..835590c9 100644 --- a/atst/domain/task_orders.py +++ b/atst/domain/task_orders.py @@ -14,11 +14,13 @@ class TaskOrders(BaseDomainClass): @classmethod def create(cls, portfolio_id, number, clins, pdf): + task_order = TaskOrder(portfolio_id=portfolio_id, number=number, pdf=pdf) + db.session.add(task_order) + try: - task_order = TaskOrder(portfolio_id=portfolio_id, number=number, pdf=pdf) - db.session.add(task_order) db.session.commit() except IntegrityError: + db.session.rollback() raise AlreadyExistsError("task_order") TaskOrders.create_clins(task_order.id, clins) @@ -43,6 +45,7 @@ class TaskOrders(BaseDomainClass): try: db.session.commit() except IntegrityError: + db.session.rollback() raise AlreadyExistsError("task_order") return task_order