Development

#3067: yml2xml_index_sizes.diff

You must first sign up to be able to contribute.

Ticket #3067: yml2xml_index_sizes.diff

File yml2xml_index_sizes.diff, 1.7 kB (added by lathspell, 10 months ago)

Patch to allow a size definition for indexes in schema.yml

  • /usr/share/php/symfony/addon/propel/sfPropelDatabaseSchema.class.php

    old new  
    7272          $xml .= "    <index name=\"$index_name\">\n"; 
    7373          foreach ($index as $index_column) 
    7474          { 
    75             $xml .= "      <index-column name=\"$index_column\" />\n"; 
     75            if (is_array($index_column)) 
     76            { 
     77              $xml .= sprintf("      <index-column name=\"%s\" size=\"%s\" />\n", 
     78                          $index_column['name'], 
     79                          $index_column['size']); 
     80            } else { 
     81              $xml .= "      <index-column name=\"$index_column\" />\n"; 
     82            } 
    7683          } 
    7784          $xml .= "    </index>\n"; 
    7885        } 
     
    8693          $xml .= "    <unique name=\"$unique_name\">\n"; 
    8794          foreach ($index as $unique_column) 
    8895          { 
    89             $xml .= "      <unique-column name=\"$unique_column\" />\n"; 
     96            if (is_array($index_column))  
     97            { 
     98              $xml .= sprintf("      <unique-column name=\"%s\" size=\"%s\" />\n", 
     99                          $index_column['name'], 
     100                          $index_column['size']); 
     101            } else { 
     102              $xml .= "      <unique-column name=\"$unique_column\" />\n"; 
     103            } 
    90104          } 
    91105          $xml .= "    </unique>\n"; 
    92106        } 
     
    99113        { 
    100114          $xml .= "    <foreign-key foreignTable=\"$fkey[foreignTable]\""; 
    101115 
    102           // foreign key name 
     116          // foreign key name (MySQL cannot have a size attribute here) 
    103117          if (!is_numeric($fkey_name)) 
    104118          { 
    105119            $xml .= " name=\"$fkey_name\"";