При портировании приложения Rails 1.2 испорчена генерация schema.rb - PullRequest
0 голосов
/ 01 февраля 2011

rake db: схема: дамп rake db: test: prepare

Все используют следующую сгенерированную schema.rb:

t.column "cost_per_license",: decimal,: limit =>8: default => #

Запуск rake db: migrate не вызывает этой проблемы, поскольку он использует только файлы миграции (а не результирующий schema.rb)

Кто-нибудь видел это вРельсы 1.2?Следующие строки генерируют эту схему:

126_create_accounts.rb: t.column: cost_per_license,: decimal,: precision => 8,: scale => 2,: default => 0

Я пробовал Ruby 1.8.6, 1.8.7 и Rails 1.2.1 и 1.2.6 - все сгенерированные schema.rb имеют такую ​​же синтаксическую ошибку.

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Разобрался:

Был вендор / плагин (в частности ,pace_adapter), который обезьяной исправлял функцию таблицы () SchemaDumper с помощью ужасно старой версии таблицы ActiveRecord () (либо очень старой, либо просто ужасной).

1 голос
/ 01 февраля 2011

Если у вас есть проблема с созданным schema.rb, вы можете переопределить модуль ActiveRecord класса SchemaDumper и метод, который создает конкретную строку, и просто заменить ': default => #' на ': default =>0 '

для основной причины вы можете сделать таблицу show create для конкретной таблицы (если вы используете mysql)?и нужно ли это для всех столбцов со значением по умолчанию или только для того, что стоит cost_per_license?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...