Example #1
0
 protected function _generateCreateTable($name, $arr, $primary = array(), $keys = array(), $uniques = array(), $if_not_exists = true)
 {
     $arr_sql = parent::_generateCreateTable($name, $arr, $primary, $keys, $uniques, $if_not_exists);
     if (is_array($primary) and count($primary) == 1) {
         $primary = current($primary);
     }
     return $arr_sql;
 }
Example #2
0
 protected function _generateCreateTable($name, $arr, $primary = array(), $keys = array())
 {
     $arr_sql = parent::_generateCreateTable($name, $arr, $primary, $keys);
     if (is_array($primary) and count($primary) == 1) {
         $primary = current($primary);
     }
     if (is_array($primary)) {
         //ALTER TABLE  `quickbooks_ident` ADD PRIMARY KEY (  `qb_action` ,  `unique_id` )
         $arr_sql[] = 'ALTER TABLE ' . $name . ' ADD PRIMARY KEY ( ' . implode(', ', $primary) . ' ) ';
     } else {
         if ($primary) {
             $arr_sql[] = 'ALTER TABLE ' . $name . ' ADD PRIMARY KEY(' . $primary . '); ';
             if ($arr[$primary][0] == QUICKBOOKS_DRIVER_SQL_SERIAL) {
                 // add the auto-increment
                 $arr_sql[] = 'ALTER TABLE ' . $name . ' CHANGE ' . $primary . ' ' . $primary . ' INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;';
             }
         }
     }
     foreach ($keys as $key) {
         if (is_array($key)) {
             $arr_sql[] = 'ALTER TABLE ' . $name . ' ADD INDEX(' . implode(', ', $key) . ');';
         } else {
             $arr_sql[] = 'ALTER TABLE ' . $name . ' ADD INDEX(' . $key . ');';
         }
     }
     return $arr_sql;
 }
Example #3
0
    /**
     * Override for the default SQL generation functions, PostgreSQL-specific field generation function
     * 
     * @param string $name
     * @param array $arr
     * @param array $primary
     * @param array $keys
     * @return array
     */
    protected function _generateCreateTable($name, $arr, $primary = array(), $keys = array())
    {
        $arr_sql = parent::_generateCreateTable($name, $arr, $primary, $keys);
        if (is_array($primary) and count($primary) == 1) {
            $primary = current($primary);
        }
        if (is_array($primary)) {
            //ALTER TABLE  `quickbooks_ident` ADD PRIMARY KEY (  `qb_action` ,  `unique_id` )
            //$arr_sql[] = 'ALTER TABLE ' . $name . ' ADD PRIMARY KEY ( ' . implode(', ', $primary) . ' ) ';
        } else {
            if ($primary) {
                $arr_sql[] = 'ALTER TABLE ONLY ' . $name . ' 
				ADD CONSTRAINT ' . $name . '_pkey PRIMARY KEY (' . $primary . ');';
            }
        }
        foreach ($keys as $key) {
            if (is_array($key)) {
                $arr_sql[] = 'CREATE INDEX ' . implode('_', $key) . '_' . $name . '_index ON ' . $name . ' USING btree (' . implode(', ', $key) . ')';
            } else {
                $arr_sql[] = 'CREATE INDEX ' . $key . '_' . $name . '_index ON ' . $name . ' USING btree (' . $key . ')';
            }
        }
        return $arr_sql;
    }