Changeset 11242
- Timestamp:
- 08/29/08 21:02:34 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/sfPropelPlugin/branches/migration/lib/propel/migration/model/sfPropelIndex.class.php
r11239 r11242 108 108 $builder = $this->getBuilder($table->asPropel()); 109 109 110 /** 111 * @todo Support MySQL index sizes 112 */ 113 $script = 'mysql' == self::getDriver() ? 'ALTER TABLE %3$s ADD %1$sKEY %2$s (%4$s);' : 'CREATE %sINDEX %s ON %s (%s);'; 114 $script = vsprintf("\n".$script."\n", array( 110 $script = vsprintf('CREATE %sINDEX %s ON %s (%s);', array( 115 111 'unique' == $this->type ? 'UNIQUE ' : '', 116 112 $builder->quoteIdentifier($this->name), 117 113 $builder->quoteIdentifier($builder->prefixTablename($table->getName())), 118 $ builder->getColumnList($this->getColumnNames()),114 $this->getColumnList($builder), 119 115 )); 120 116 121 return $builder->getDatabaseStartDDL().$script.$builder->getDatabaseEndDDL(); 117 return $builder->getDatabaseStartDDL()."\n".$script."\n".$builder->getDatabaseEndDDL(); 118 } 119 120 protected function getColumnList(DDLBuilder $builder) 121 { 122 if ('mysql' == self::getDriver()) 123 { 124 /** 125 * @see MysqlDDLBuilder::getIndexColumnList() 126 */ 127 $list = array(); 128 foreach ($this->columns as $name => $size) 129 { 130 $column = $builder->quoteIdentifier($name); 131 if ($size) 132 { 133 $column .= sprintf('(%d)', $size); 134 } 135 136 $list[] = $column; 137 } 138 139 return join(', ', $list); 140 } 141 else 142 { 143 return $builder->getColumnList($this->getColumnNames()); 144 } 122 145 } 123 146 }