Rails Migration Create Table Primary Key

Я пишу сценарий миграции для создания таблицы со столбцом первичного ключа с именем guid и является VARCHAR (25) . Проблема в том, что я чувствую, что мне нужно удвоить свои усилия, чтобы достичь того, что должно быть возможным за один шаг.

Если я запустил:

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

  ...

  t.timestamps
end

, я получаю таблицу с первичным ключом под названием guid no столбец с именем id (это то, что я хочу). Однако, проблема в том, что столбец guid представляет собой INT (11) с включенным автоматическим приращением. Поэтому мне нужно запустить одну дополнительную команду:

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

Кажется немного запутанным, чтобы в основном запускать две команды SQL, чтобы получить то, что, по моему мнению, должно быть возможным в одной.

Есть ли предложения по оптимизации?

15
задан Ryan 22 January 2011 в 18:31
поделиться