To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / .svn / pristine / ae / ae6df9cc5dce21533f28bfe2c0e4198d313b7ce5.svn-base @ 1297:0a574315af3e
History | View | Annotate | Download (1.05 KB)
| 1 |
class ChangeUsersMailNotificationToString < ActiveRecord::Migration |
|---|---|
| 2 |
def self.up |
| 3 |
rename_column :users, :mail_notification, :mail_notification_bool |
| 4 |
add_column :users, :mail_notification, :string, :default => '', :null => false |
| 5 |
User.update_all("mail_notification = 'all'", "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)")
|
| 7 |
User.update_all("mail_notification = 'only_my_events'", "mail_notification NOT IN ('all', 'selected')")
|
| 8 |
remove_column :users, :mail_notification_bool |
| 9 |
end |
| 10 |
|
| 11 |
def self.down |
| 12 |
rename_column :users, :mail_notification, :mail_notification_char |
| 13 |
add_column :users, :mail_notification, :boolean, :default => true, :null => false |
| 14 |
User.update_all("mail_notification = #{connection.quoted_false}", "mail_notification_char <> 'all'")
|
| 15 |
remove_column :users, :mail_notification_char |
| 16 |
end |
| 17 |
end |