| @@ 260-281 (lines=22) @@ | ||
| 257 | } |
|
| 258 | ||
| 259 | // set the primary key(s) |
|
| 260 | if (isset($options['primary_key'])) { |
|
| 261 | $sql = rtrim($sql); |
|
| 262 | $sql .= ' PRIMARY KEY ('; |
|
| 263 | if (is_string($options['primary_key'])) { // handle primary_key => 'id' |
|
| 264 | $sql .= $this->quoteColumnName($options['primary_key']); |
|
| 265 | } elseif (is_array($options['primary_key'])) { // handle primary_key => array('tag_id', 'resource_id') |
|
| 266 | // PHP 5.4 will allow access of $this, so we can call quoteColumnName() directly in the |
|
| 267 | // anonymous function, but for now just hard-code the adapter quotes |
|
| 268 | $sql .= implode( |
|
| 269 | ',', |
|
| 270 | array_map( |
|
| 271 | function ($v) { |
|
| 272 | return '`' . $v . '`'; |
|
| 273 | }, |
|
| 274 | $options['primary_key'] |
|
| 275 | ) |
|
| 276 | ); |
|
| 277 | } |
|
| 278 | $sql .= ')'; |
|
| 279 | } else { |
|
| 280 | $sql = substr(rtrim($sql), 0, -1); // no primary keys |
|
| 281 | } |
|
| 282 | ||
| 283 | // set the indexes |
|
| 284 | $indexes = $table->getIndexes(); |
|
| @@ 194-215 (lines=22) @@ | ||
| 191 | } |
|
| 192 | ||
| 193 | // set the primary key(s) |
|
| 194 | if (isset($options['primary_key'])) { |
|
| 195 | $sql = rtrim($sql); |
|
| 196 | $sql .= ' PRIMARY KEY ('; |
|
| 197 | if (is_string($options['primary_key'])) { // handle primary_key => 'id' |
|
| 198 | $sql .= $this->quoteColumnName($options['primary_key']); |
|
| 199 | } elseif (is_array($options['primary_key'])) { // handle primary_key => array('tag_id', 'resource_id') |
|
| 200 | // PHP 5.4 will allow access of $this, so we can call quoteColumnName() directly in the anonymous function, |
|
| 201 | // but for now just hard-code the adapter quotes |
|
| 202 | $sql .= implode( |
|
| 203 | ',', |
|
| 204 | array_map( |
|
| 205 | function ($v) { |
|
| 206 | return '`' . $v . '`'; |
|
| 207 | }, |
|
| 208 | $options['primary_key'] |
|
| 209 | ) |
|
| 210 | ); |
|
| 211 | } |
|
| 212 | $sql .= ')'; |
|
| 213 | } else { |
|
| 214 | $sql = substr(rtrim($sql), 0, -1); // no primary keys |
|
| 215 | } |
|
| 216 | ||
| 217 | // set the foreign keys |
|
| 218 | $foreignKeys = $table->getForeignKeys(); |
|
| @@ 212-233 (lines=22) @@ | ||
| 209 | } |
|
| 210 | ||
| 211 | // set the primary key(s) |
|
| 212 | if (isset($options['primary_key'])) { |
|
| 213 | $sql = rtrim($sql); |
|
| 214 | $sql .= sprintf(' CONSTRAINT %s_pkey PRIMARY KEY (', $table->getName()); |
|
| 215 | if (is_string($options['primary_key'])) { // handle primary_key => 'id' |
|
| 216 | $sql .= $this->quoteColumnName($options['primary_key']); |
|
| 217 | } elseif (is_array($options['primary_key'])) { // handle primary_key => array('tag_id', 'resource_id') |
|
| 218 | // PHP 5.4 will allow access of $this, so we can call quoteColumnName() directly in the anonymous function, |
|
| 219 | // but for now just hard-code the adapter quotes |
|
| 220 | $sql .= implode( |
|
| 221 | ',', |
|
| 222 | array_map( |
|
| 223 | function ($v) { |
|
| 224 | return '"' . $v . '"'; |
|
| 225 | }, |
|
| 226 | $options['primary_key'] |
|
| 227 | ) |
|
| 228 | ); |
|
| 229 | } |
|
| 230 | $sql .= ')'; |
|
| 231 | } else { |
|
| 232 | $sql = rtrim($sql, ', '); // no primary keys |
|
| 233 | } |
|
| 234 | ||
| 235 | // set the foreign keys |
|
| 236 | $foreignKeys = $table->getForeignKeys(); |
|