저자: Mike Naberezny (mike@maintainable.com)
저자: Derek DeVries (derek@maintainable.com)
저자: Chuck Hagenbuch (chuck@horde.org)
예제 #1
0
파일: QueryTest.php 프로젝트: horde/horde
 public function setUp()
 {
     $factory_db = new Horde_Test_Factory_Db();
     $this->db = $factory_db->create();
     $this->mapper = new Horde_Rdo_Test_Objects_SimpleMapper($this->db);
     $migration = new Horde_Db_Migration_Base($this->db);
     try {
         $migration->dropTable('horde_rdo_test');
     } catch (Horde_Db_Exception $e) {
     }
     $t = $migration->createTable('horde_rdo_test', array('autoincrementKey' => 'id'));
     $t->column('intprop', 'integer');
     $t->column('textprop', 'string');
     $t->end();
     $migration->migrate('up');
 }
예제 #2
0
파일: Base.php 프로젝트: horde/horde
 public static function tearDownAfterClass()
 {
     if (self::$db) {
         $migration = new Horde_Db_Migration_Base(self::$db);
         $migration->dropTable('test_someeagerbaseobjects');
         $migration->dropTable('test_somelazybaseobjects');
         $migration->dropTable('test_relatedthings');
         $migration->dropTable('test_manytomanya');
         $migration->dropTable('test_manytomanyb');
         $migration->dropTable('test_manythrough');
         self::$db->disconnect();
         self::$db = null;
     }
 }
예제 #3
0
 public function testAutoincrement()
 {
     $t = $this->_conn->createTable('imp_sentmail', array('autoincrementKey' => array('sentmail_id')));
     $t->column('sentmail_id', 'bigint', array('null' => false));
     $t->column('sentmail_foo', 'string');
     $t->end();
     $migration = new Horde_Db_Migration_Base($this->_conn, null);
     $migration->changeColumn('imp_sentmail', 'sentmail_id', 'autoincrementKey');
     $columns = $this->_conn->columns('imp_sentmail');
     $this->assertEquals(2, count($columns));
     $this->assertTrue(isset($columns['sentmail_id']));
     $this->assertEquals(array('sentmail_id'), $this->_conn->primaryKey('imp_sentmail')->columns);
     $this->_conn->insert('INSERT INTO imp_sentmail (sentmail_foo) VALUES (?)', array('bar'));
 }
예제 #4
0
파일: Base.php 프로젝트: jubinpatel/horde
 public static function tearDownAfterClass()
 {
     if (self::$db) {
         $migration = new Horde_Db_Migration_Base(self::$db);
         $migration->dropTable('test_shares');
         $migration->dropTable('test_shares_groups');
         $migration->dropTable('test_shares_users');
         self::$db->disconnect();
         self::$db = null;
     }
 }
예제 #5
0
 public function __construct(Horde_Db_Adapter $connection, $version = null)
 {
     parent::__construct($connection, $version);
     require_once $GLOBALS['registry']->get('fileroot', 'wicked') . '/lib/Wicked.php';
     $this->_vfs = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Vfs')->create();
 }
예제 #6
0
파일: sql.php 프로젝트: jubinpatel/horde
function migrate_sql($db)
{
    $migration = new Horde_Db_Migration_Base($db);
    /* Cleanup potential left-overs. */
    try {
        $migration->dropTable('test_shares');
        $migration->dropTable('test_shares_groups');
        $migration->dropTable('test_shares_users');
    } catch (Horde_Db_Exception $e) {
    }
    $t = $migration->createTable('test_shares', array('autoincrementKey' => 'share_id'));
    $t->column('share_name', 'string', array('limit' => 255, 'null' => false));
    $t->column('share_owner', 'string', array('limit' => 255));
    $t->column('share_parents', 'string', array('limit' => 4000));
    $t->column('share_flags', 'integer', array('default' => 0, 'null' => false));
    $t->column('perm_creator', 'integer', array('default' => 0, 'null' => false));
    $t->column('perm_default', 'integer', array('default' => 0, 'null' => false));
    $t->column('perm_guest', 'integer', array('default' => 0, 'null' => false));
    $t->column('attribute_name', 'string', array('limit' => 255));
    $t->column('attribute_desc', 'string', array('limit' => 255));
    $t->end();
    $migration->addIndex('test_shares', array('share_name'));
    $migration->addIndex('test_shares', array('share_owner'));
    $migration->addIndex('test_shares', array('perm_creator'));
    $migration->addIndex('test_shares', array('perm_default'));
    $migration->addIndex('test_shares', array('perm_guest'));
    $t = $migration->createTable('test_shares_groups');
    $t->column('share_id', 'integer', array('null' => false));
    $t->column('group_uid', 'string', array('limit' => 255, 'null' => false));
    $t->column('perm', 'integer', array('null' => false));
    $t->end();
    $migration->addIndex('test_shares_groups', array('share_id'));
    $migration->addIndex('test_shares_groups', array('group_uid'));
    $migration->addIndex('test_shares_groups', array('perm'));
    $t = $migration->createTable('test_shares_users');
    $t->column('share_id', 'integer', array('null' => false));
    $t->column('user_uid', 'string', array('limit' => 255));
    $t->column('perm', 'integer', array('null' => false));
    $t->end();
    $migration->addIndex('test_shares_users', array('share_id'));
    $migration->addIndex('test_shares_users', array('user_uid'));
    $migration->addIndex('test_shares_users', array('perm'));
    $migration->migrate('up');
}