Можно ли вносить изменения в базу данных через PostgreSQL вместо Rake?

Я только начинаю изучать Ruby, но работаю администратором баз данных (DBA) уже более 30 лет, из которых последние 20 лет — с PostgreSQL.

Структура данных сложная, но я видел (и, вероятно, писал) и похуже.

Можно ли выполнять такие операции, как изменение группы для большого количества пользователей, используя SQL вместо rake? Какие здесь есть подводные камни?

Вы играете с огнём, если пойдёте по этому пути: вы, скорее всего, пропустите записи в самых разных таблицах аудита и явно обойдёте множество проверок в коде.

Технически это возможно, но крайне рискованно.

См. также Административные массовые операции для получения информации о способах выполнения массовых обновлений.

Да, и я не собираюсь идти по пути SQL. Иногда, сталкиваясь с проблемой, более творческий подход оказывается изящнее первоначального замысла — именно так я и структурирую свои архивы.

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