Les Rails De La Migration De Créer La Table De Clé Primaire

Je suis en train d'écrire un script de migration pour créer une table avec une colonne de clé primaire qui est nommé guid et est un VARCHAR(25). Le problème c'est que je sens que je vais avoir à le double de mon effort pour réaliser ce que devrait être possible en une seule étape.

Si je lance:

create_table(:global_feeds, :primary_key => 'guid') do |t|
  t.string :guid, :limit => 25
  t.text :title
  t.text :subtitle

  ...

  t.timestamps
end

- Je obtenir une table avec une clé primaire appelé guid pas de colonne appelée id (qui est ce que je veux). Cependant, la question est la guid colonne est une INT(11) avec incrément automatique activée. Donc, je dois exécuter une commande supplémentaire:

change_column :global_feeds, :guid, :string, :limit => 25

Semble un peu compliqué d'avoir de gros exécuter deux commandes SQL pour obtenir ce que je pense qui devrait être possible dans une.

Des suggestions sur la façon d'optimiser ce?

OriginalL'auteur Ryan | 2011-01-22