Как вы запускаете MySQL-запрос из граблей? - PullRequest
15 голосов
/ 18 июля 2011

Я работаю над удалением дубликатов из устаревшей базы данных для моего клиента, и я нашел запрос MySQL для этого. Я хочу создать задачу Rake для запуска запроса для производственного сервера. Как бы я это сделал?

MySQL запрос:

    select * from community_event_users;
    create table dups as
      select distinct username, count(*)
      from community_event_users group by username
      having count(*) > 1;
    delete community_event_users from community_event_users inner join dups
    on community_event_users.username = dups.username;

    insert into community_event_users select username from dups;

1 Ответ

22 голосов
/ 18 июля 2011

Если вы на Rails и используете ActiveRecord, вы можете просто использовать:

ActiveRecord::Base.execute(my_sql)

ActiveRecord::Base.connection.execute(my_sql)

Где my_sql - ваша строка SQL.

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