Почему я не могу сохранить какие-либо модели в базу данных PostgreSQL в Rails? - PullRequest
0 голосов
/ 03 декабря 2011

Внезапно я не могу сохранить никакие модели в моей базе данных PostgreSQL в Rails.Получение данных работает нормально.

m = Model.find(1)
m.save
=> false

Когда я переключился на другую базу данных, все в порядке.В журнале Rails нет записи.

Что может вызвать такое поведение?База данных повреждена?Диск умирает?Я попытался перезагрузиться, но это не помогло.

Как проверить целостность базы данных (у меня установлен pgAdmin III)?Нужно ли делать какое-то обслуживание?Как выяснить, в чем проблема?

Работа в Ubuntu 11.04, Rails 3.0.7 и PostgreSQL 8.3.

Ответы [ 3 ]

2 голосов
/ 03 декабря 2011

Добавили ли вы какие-либо проверки с момента создания этого объекта?Попробуйте это:

> m = Model.find(1)
> m.valid?
> m.errors.full_messages

Если что-то не так с вашей базой данных PostgreSQL, вы, вероятно, увидите исключения и ошибки чтения.

1 голос
/ 03 декабря 2011

Попробуйте

m.save!

и это должно дать вам больше информации.

0 голосов
/ 03 декабря 2011

База данных повреждена?Диск умирает?

Если это так, показ трех строк кода на Ruby не поможет.Если вы хотите знать, работает ли ваша база данных, посмотрите на базу данных.Если PgAdmin работает, то с БД все в порядке.Возможно, вы захотите включить ведение журнала запросов в БД, чтобы увидеть, какой запрос (если вообще что-то) отправляет Rails.

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