protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
     self::$mysql->query(sprintf('TRUNCATE TABLE %stask_queque', self::$mysql->option('prefix', '')));
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     Table::cleanAllStatic();
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::removeAllNames();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
 }
 /**
  * 各个对象初始化 
  *
  * @access public static
  * @return void
  */
 public static function init($ini)
 {
     self::setAutoLoad();
     /**
      * @配置文件
      */
     \Myfox\Lib\Config::register('default', $ini);
     $config = \Myfox\Lib\Config::instance('default');
     /**
      * @数据库
      */
     foreach ((array) $config->get('mysql') as $name => $file) {
         \Myfox\Lib\Mysql::register($name, $file);
     }
     /**
      * @日志对象
      */
     foreach ((array) $config->get('log') as $name => $url) {
         \Myfox\Lib\Factory::registerLog($name, $url);
     }
     /**
      * @告警提醒
      */
     \Myfox\Lib\Alert::init(__DIR__ . '/../etc/alert.ini');
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
     self::cleanTable('default', 'route_info');
     self::cleanTable('default', 'task_queque');
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::removeAllNames();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
     self::$mysql->query(sprintf("DELETE FROM %shost_list WHERE host_name LIKE 'unittest%%'", self::$mysql->option('prefix', '')));
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
     self::$mysql->query(sprintf('DELETE FROM %ssettings WHERE ownname LIKE "unittest%%"', self::$mysql->option('prefix')));
     Setting::$queries = 0;
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
     self::$inifile = __DIR__ . '/ini/myfox.ini';
     self::cleanTable('default', 'process_locker');
 }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
     self::$mysql = \Myfox\Lib\Mysql::instance('default');
     self::$mysql->query(sprintf("DELETE FROM %stable_list WHERE table_name = 'i am not exists'", self::$mysql->option('prefix')));
     self::$mysql->query(sprintf("DELETE FROM %ssettings WHERE cfgname IN ('table_route_count', 'table_real_count')", self::$mysql->option('prefix')));
     self::cleanTable('default', 'route_info');
     Setting::set('last_assign_host', 0);
 }
Exemple #10
0
 /**
  * 获取数据库连接
  *
  * @access public
  * @return object
  */
 public function getlink()
 {
     $this->init();
     $id = sprintf('__%s', $this->dbname);
     try {
         return \Myfox\Lib\Mysql::instance($id);
     } catch (\Exception $e) {
         \Myfox\Lib\Mysql::register($id, array('persist' => false, 'master' => array(sprintf('mysql://%s:%s@%s:%d', rawurlencode($this->option['write_user']), rawurlencode($this->option('write_pass')), $this->option['conn_host'], $this->option['conn_port'])), 'slave' => array(sprintf('mysql://%s:%s@%s:%d', rawurlencode($this->option['read_user']), rawurlencode($this->option('read_pass')), $this->option['conn_host'], $this->option['conn_port']))));
         return \Myfox\Lib\Mysql::instance($id);
     }
 }
 public function test_should_mysql_factory_works_fine()
 {
     try {
         $mysql = Mysql::instance('i_am_not_exists');
         $this->assertTrue(false);
     } catch (\Exception $e) {
         $this->assertTrue($e instanceof \Myfox\Lib\Exception);
         $this->assertContains('Undefined mysql instance named as "i_am_not_exists"', $e->getMessage());
     }
     $mysql = new Mysql('', 'mysql3');
     $this->assertEquals(Mysql::instance('MYSQl3'), $mysql);
     Mysql::register('test1', array('dbname' => 'test', 'prefix' => 'myfox_'));
     $mysql = Mysql::instance('test1');
     $this->assertEquals('test', $mysql->option('dbname'));
     $this->assertEquals('myfox_', $mysql->option('prefix'));
     $this->assertEquals('utf8', $mysql->option('charset'));
 }
    /**
     * 测试表及信息创建
     */
    protected function setUp()
    {
        parent::setUp();
        \Myfox\Lib\Mysql::removeAllNames();
        \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
        $this->mysql = \Myfox\Lib\Mysql::instance('default');
        $config = new \Myfox\Lib\Config(__DIR__ . '/ini/mysql.ini');
        foreach ($config->get('master') as $host) {
            $urlRes = parse_url($host);
            $this->infos['host'] = $urlRes['host'];
            $this->infos['port'] = array_key_exists('port', $urlRes) ? $urlRes['port'] : 3306;
            $this->infos['user'] = array_key_exists('user', $urlRes) ? $urlRes['user'] : '******';
            $this->infos['pass'] = array_key_exists('pass', $urlRes) ? $urlRes['pass'] : '';
        }
        self::cleanTable('default', 'route_info');
        $this->table_bak('table_list');
        $this->table_bak('host_list');
        $this->table_bak('settings');
        //插入测试分片表1
        $this->mysql->query('CREATE TABLE `test_table_real1` (
			`id` int(10) unsigned NOT NULL auto_increment,
			`key1` varchar(64) NOT NULL default "",
			`key2` int(10) NOT NULL default 0,
			PRIMARY KEY (`id`)
		)');
        //插入测试分片表2
        $this->mysql->query('CREATE TABLE `test_table_real2` (
			`id` int(10) unsigned NOT NULL auto_increment,
			`key1` varchar(64) NOT NULL default "",
			`key2` int(10) NOT NULL default 0,
			PRIMARY KEY (`id`)
		)');
        //插入测试分片表3
        $this->mysql->query('CREATE TABLE `test_table_real3` (
			`id` int(10) unsigned NOT NULL auto_increment,
			`key1` varchar(64) NOT NULL default "",
			`key2` int(10) NOT NULL default 0,
			PRIMARY KEY (`id`)
		)');
    }
 protected function setUp()
 {
     parent::setUp();
     \Myfox\Lib\Mysql::register('default', __DIR__ . '/ini/mysql.ini');
 }