Использование последовательности при создании или обновлении в Rails - PullRequest
3 голосов
/ 30 мая 2011

Я создал последовательность в миграции, которую я хочу использовать как при создании, так и при обновлении. Я думаю, что могу создать фильтр перед сохранением, который установит последовательность, но я не уверен, как «внедрить» требуемый SQL (в данном случае nextval('sequence')). Мой запрос должен выглядеть примерно так:

UPDATE users
SET 
sequence=nextval('users_sequence'),
name='Kevin',
...
WHERE id=...

Обратите внимание, что я, к сожалению, не могу создать триггер для этого, поскольку я развертываю общую базу данных Heroku и не имею доступа к PLPGSQL.

1 Ответ

1 голос
/ 30 мая 2011

В вашем before_filter напишите что-то вроде:

User.connection.select_value("SELECT nextval('users_sequence')")

Надеюсь, это поможет.

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