Могу ли я выполнить операцию INSERT-SELECT с помощью Rails API? - PullRequest
8 голосов
/ 22 января 2011

Мне нужно продублировать поле BLOB из одной таблицы в другую, и я хочу использовать запрос INSERT-SELECT для достижения этой цели.

INSERT INTO target_table (key, data, comment)
    SELECT 'my key', data, 'some comment' FROM source_table

Можно ли это сделать с помощью Rails API?

Конечно, я всегда могу использовать ActiveRecord::Base.connection для отправки собственного запроса в базу данных, но яЯ надеюсь найти «Rails way» для этого.(Тот, который не включает в себя фактическую загрузку данных в моем приложении Rails)

1 Ответ

4 голосов
/ 02 февраля 2011

Это типичный сценарий, в котором использование SQL напрямую с использованием ActiveRecord::Base.connection имеет смысл и целесообразность. Не может быть пути к нему, как вы описали. Даже если он и должен быть, он должен загрузить его в память и вставить в целевую таблицу, включающую две модели; это безумие.

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