예제 #1
0
파일: tests.py 프로젝트: bopo/skylark
    def test_transaction(self):
        database.set_autocommit(False)
        with database.transaction() as t:
            User.create(name='jack', email='*****@*****.**')

        with database.transaction() as t:
            try:
                User.create(name='amy', id=1)
            except:
                t.rollback()
        database.set_autocommit(True)
        assert User.count() == 1
예제 #2
0
    def test_transaction(self):
        database.set_autocommit(False)
        with database.transaction() as t:
            User.create(name='jack', email='*****@*****.**')

        with database.transaction() as t:
            try:
                User.create(name='amy', id=1)
            except:
                t.rollback()
        database.set_autocommit(True)
        assert User.count() == 1
예제 #3
0
파일: tests.py 프로젝트: bopo/skylark
 def create_data(self, count, table=None):
     database.set_autocommit(False)
     # lots of insert in a transaction
     with database.transaction():
         if table is 1:  # only create data in table `user`
             for i in range(1, count + 1):
                 User.create(name='name' + str(i), email='email' + str(i))
         elif table is 2:  # only create data in table `post`
             for i in range(1, count + 1):
                 Post.create(name='name' + str(i), user_id=count + 1 - i)
         else:  # both, default
             for i in range(1, count + 1):
                 User.create(name='name' + str(i), email='email' + str(i))
             for i in range(1, count + 1):
                 Post.create(name='name' + str(i), user_id=count + 1 - i)
     database.set_autocommit(True)
예제 #4
0
 def create_data(self, count, table=None):
     database.set_autocommit(False)
     # lots of insert in a transaction
     with database.transaction():
         if table is 1:  # only create data in table `user`
             for i in range(1, count + 1):
                 User.create(name='name' + str(i), email='email' + str(i))
         elif table is 2:  # only create data in table `post`
             for i in range(1, count + 1):
                 Post.create(name='name' + str(i), user_id=count + 1 - i)
         else:  # both, default
             for i in range(1, count + 1):
                 User.create(name='name' + str(i), email='email' + str(i))
             for i in range(1, count + 1):
                 Post.create(name='name' + str(i), user_id=count + 1 - i)
     database.set_autocommit(True)
예제 #5
0
파일: tests.py 프로젝트: bopo/skylark
 def test_a_lot_of_insert_in_transaction(self):
     database.set_autocommit(False)
     with database.transaction():
         for i in range(1000):
             User.create(name=str(i), email=str(i))
     database.set_autocommit(True)
예제 #6
0
 def test_a_lot_of_insert_in_transaction(self):
     database.set_autocommit(False)
     with database.transaction():
         for i in range(1000):
             User.create(name=str(i), email=str(i))
     database.set_autocommit(True)