разные логические типы БД в среде производства и разработки

У меня есть миграция следующего типа:

create_table :products do |t|
    t.boolean :overdue
end

в моей настройке разработки (Postgresql 9.1, rails 3.2.11) мне нужно протестировать

p.overdue == "t" # or
p.overdue == "f"

р. просрочено? или p.overdue == true или p.overdue == false не работает.

На heroku (я недавно создал тестовое приложение, так что думаю, ts cedar, PG 9.1 тоже) я могу протестировать p.overdue? или p.overdue == true, в то время как проверка строки «t» или «f» не работает.

Мне не хватает какой-то опции конфигурации в моей настройке разработки?


person Kostas Georgokitsos    schedule 16.03.2013    source источник
comment
что говорит schema.rb в вашем приложении?   -  person phoet    schedule 16.03.2013
comment
schema.rb имеет t.binary, а миграция - t.boolean. Это была ошибка, которую я исправил, но я сделал только rake db: reset, который только перезагружает схему, но не запускает сначала миграции. Вот и все. Спасибо.!   -  person Kostas Georgokitsos    schedule 17.03.2013


Ответы (1)


В schema.rb было указано t.binary, а при миграции - t.boolean. Это была ошибка, которую я исправил, но я только запустил

rake db:reset 

который только перезагружает схему, но не запускает миграции. Либо исправьте схему и снова запустите db: reset, либо еще лучше:

rake db:drop
rake db:create
rake db:migrate
person Kostas Georgokitsos    schedule 17.03.2013