Как использовать версии миграций с простыми номерами в Rails? - PullRequest
2 голосов
/ 18 сентября 2010

Я использую NetBeans + Rails 2.3.8.

Я замечаю, что всякий раз, когда я генерирую модель, имя файла миграции для нее включает дату и время:

  • МодельИмя: User
  • Имя файла миграции: 20100916172053_create_users.rb

Но когда я вижу книги (например, Agile Web Development с Rails), (сгенерированные с помощью rake примеры в нем)все показывают простые числа, такие как 001_create_users, 002_create_sessions и т. д.

Как мне получить эту простую схему нумерации (она выглядит аккуратнее, на глаза легче при поиске модели)?

Или лучше просто плыть по течению и не беспокоиться о том, какой номер версии используется?

Ответы [ 2 ]

6 голосов
/ 18 сентября 2010

Вы можете добавить это в config / environment.rb

config.active_record.timestamped_migrations = false

Обратите внимание, что значение по умолчанию было изменено на отметки времени, поскольку оно (версия нумерации) вызывает проблемы в средах с несколькими разработчиками.Когда два разработчика создают миграцию между обновлениями контроля версий, миграции будут иметь одинаковые номера.Если вы работаете в одиночку, это не будет проблемой.

Кроме того, я не уверен, как это будет работать, если у вас уже есть миграции, поэтому будьте осторожны, если это так.

2 голосов
/ 18 сентября 2010

Миграции с отметкой времени являются более новой формой, поскольку она позволяет нескольким пользователям одновременно добавлять миграцию в проект. Это особенно полезно в проектах с более чем одним разработчиком, так как при использовании старого пронумерованного подхода вам потребуется добавить миграции на этапе блокировки или перенумеровать их.

Поэтому я бы порекомендовал вам придерживаться формы отметки времени.

Однако, если вы все еще хотите использовать старые пронумерованные формы, вы можете сделать так, как предложил @ngoozeff и добавить:

config.active_record.timestamped_migrations = false

на environment.rb или на инициализатор.

...