2013-04-11 25 views
6

Tôi đang chuyển dữ liệu từ hệ thống cũ sang Django. Để đảm bảo tính toàn vẹn của cơ sở dữ liệu hiện tại, tôi cam kết mọi thứ theo cách thủ công.Làm cách nào để kiểm tra mã giao dịch DB thủ công ở Django?

Tuy nhiên, khi viết kiểm tra đơn vị, các giao dịch sẽ không quay trở lại đúng cách. Kể từ TestCase có lẽ là sử dụng giao dịch, có cách nào để kiểm tra đúng mã trong Django dựa trên giao dịch không?

@transaction.commit_manually 
def import_records(): 
    # initial prep 
    try: 
     import_data() 
    except Exception as error: 
     rollback = True 
    except (KeyboardInterrupt, SystemExit): 
     sys.stdout.write("Import canceled\n") 
     rollback = True 
    if rollback is True: 
     transaction.rollback() 
    # save history of import 

Trả lời

10

Tôi tin rằng bạn đang tìm kiếm TransactionTestCase để xử lý thiết lập và rách nhỏ hơn mức bình thường TestCase.

+0

Tuyệt vời - cảm ơn rất nhiều! Tài liệu xung quanh giao dịch không đề cập đến cách kiểm tra đúng cách. https://docs.djangoproject.com/en/1.5/topics/db/transactions/ – strongriley

Các vấn đề liên quan