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; }
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; }
/** * 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; }