Mysql has a number of issues with fulltext search in the middle of transactions, so we have to eliminate the transactions portion of push and pop. Further, to ensure that the tests all draw from the same pool (since our tests actually are supposed to happen in a transaction), we run them through a mock transaction which ensures we're always drawing from the same pool. If mysql ever fixes fulltext search during a transaction after inserting, then we can remove the test checking and use normal savepoint and rollback pairs. Also, there were issues loading the boss_test_app as an actual application, so just removed that component altogether, reconfiguring the configs to just specify boss_test as the application. ALSO, mysql's "boolean" operator is just a shortcut for tinyint(1), which ends up being handled by boss_db as an integer, so we had to modify the test model to tell boss_db to treat the boolean field as a boolean. Finally, fulltext search doesn't work at all in Mysql without having a fulltext index. So added fulltext indexing to the mysql.sql initialization script.