Mercurial > hg > soundsoftware-site
comparison db/migrate/20100129193402_change_users_mail_notification_to_string.rb @ 1517:dffacf8a6908 redmine-2.5
Update to Redmine SVN revision 13367 on 2.5-stable branch
author | Chris Cannam |
---|---|
date | Tue, 09 Sep 2014 09:29:00 +0100 |
parents | 8661b858af72 |
children |
comparison
equal
deleted
inserted
replaced
1516:b450a9d58aed | 1517:dffacf8a6908 |
---|---|
1 class ChangeUsersMailNotificationToString < ActiveRecord::Migration | 1 class ChangeUsersMailNotificationToString < ActiveRecord::Migration |
2 def self.up | 2 def self.up |
3 rename_column :users, :mail_notification, :mail_notification_bool | 3 rename_column :users, :mail_notification, :mail_notification_bool |
4 add_column :users, :mail_notification, :string, :default => '', :null => false | 4 add_column :users, :mail_notification, :string, :default => '', :null => false |
5 User.update_all("mail_notification = 'all'", "mail_notification_bool = #{connection.quoted_true}") | 5 User.where("mail_notification_bool = #{connection.quoted_true}"). |
6 User.update_all("mail_notification = 'selected'", "EXISTS (SELECT 1 FROM #{Member.table_name} WHERE #{Member.table_name}.mail_notification = #{connection.quoted_true} AND #{Member.table_name}.user_id = #{User.table_name}.id)") | 6 update_all("mail_notification = 'all'") |
7 User.update_all("mail_notification = 'only_my_events'", "mail_notification NOT IN ('all', 'selected')") | 7 User.where("EXISTS (SELECT 1 FROM #{Member.table_name} WHERE #{Member.table_name}.mail_notification = #{connection.quoted_true} AND #{Member.table_name}.user_id = #{User.table_name}.id)"). |
8 update_all("mail_notification = 'selected'") | |
9 User.where("mail_notification NOT IN ('all', 'selected')"). | |
10 update_all("mail_notification = 'only_my_events'") | |
8 remove_column :users, :mail_notification_bool | 11 remove_column :users, :mail_notification_bool |
9 end | 12 end |
10 | 13 |
11 def self.down | 14 def self.down |
12 rename_column :users, :mail_notification, :mail_notification_char | 15 rename_column :users, :mail_notification, :mail_notification_char |
13 add_column :users, :mail_notification, :boolean, :default => true, :null => false | 16 add_column :users, :mail_notification, :boolean, :default => true, :null => false |
14 User.update_all("mail_notification = #{connection.quoted_false}", "mail_notification_char <> 'all'") | 17 User.where("mail_notification_char <> 'all'"). |
18 update_all("mail_notification = #{connection.quoted_false}") | |
15 remove_column :users, :mail_notification_char | 19 remove_column :users, :mail_notification_char |
16 end | 20 end |
17 end | 21 end |