예제 #1
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
예제 #2
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
예제 #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
파일: tests.py 프로젝트: bopo/skylark
db_type_mappings = {
    'pymysql': 'mysql',
    'MySQLdb': 'mysql',
    'sqlite3': 'sqlite',
}

db_type = db_type_mappings[dbapi_name]

user_sql = open('%s.user.sql' % db_type).read()
post_sql = open('%s.post.sql' % db_type).read()


database.set_dbapi(dbapi)
logging.info('Using DBAPI %s' % dbapi_name)
database.config(**configs)
database.set_autocommit(True)


class Test(object):

    def setUp(self):
        database.execute(user_sql)
        database.execute(post_sql)

    def tearDown(self):
        database.execute("drop table t_post")
        database.execute("drop table t_user")

    def create_data(self, count, table=None):
        database.set_autocommit(False)
        # lots of insert in a transaction
예제 #7
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)
예제 #8
0
db_type_mappings = {
    'pymysql': 'mysql',
    'MySQLdb': 'mysql',
    'sqlite3': 'sqlite',
}

db_type = db_type_mappings[dbapi_name]

user_sql = open('%s.user.sql' % db_type).read()
post_sql = open('%s.post.sql' % db_type).read()


database.set_dbapi(dbapi)
logging.info('Using DBAPI %s' % dbapi_name)
database.config(**configs)
database.set_autocommit(True)


class Test(object):

    def setUp(self):
        database.execute(user_sql)
        database.execute(post_sql)

    def tearDown(self):
        database.execute("drop table t_post")
        database.execute("drop table t_user")

    def create_data(self, count, table=None):
        database.set_autocommit(False)
        # lots of insert in a transaction