Created
February 3, 2011 19:58
-
-
Save pbonnell/810080 to your computer and use it in GitHub Desktop.
code runs fine in console, FAILS to update inside a migration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# drop this on console : | |
@new_names = { | |
"1" => {:label => "super_admin",:nicename => "Super Admin"}, | |
"2" => {:label => "admin", :nicename => 'Admin'}, | |
"3" => {:label => 'editor' , :nicename=>'Editor'}, | |
"4" => {:label => 'columnist', :nicename => "Columnist"}, | |
"5" =>{:label => 'guest', :nicename => "Guest"} | |
} | |
@new_modules = { | |
"super_admin" => ['dashboard', 'write', 'content', 'feedback', 'themes', 'sidebar', 'users', 'settings', 'profile'] , | |
"admin" => ['dashboard', 'write', 'content', 'feedback', 'profile','settings', 'users'] , | |
"columnist" => ['dashboard', 'write', 'content', 'profile'], | |
"editor" => ['dashboard', 'write', 'content', 'feedback', 'profile'], | |
"guest" => [] | |
} | |
ActiveRecord::Base.connection.execute("TRUNCATE profiles") | |
# Profile.delete_all | |
@new_names.each_pair do |key,val| | |
full_attributes = {:id => key}.merge(val) | |
Profile.create(full_attributes) | |
end | |
Profile.all.each do |profile| | |
puts "------TRY WITH SETTING THE ATTRIBUTE :" | |
new_modules = @new_modules["#{profile.label}"] | |
puts "SETTING #{profile.label}(#{profile.id}) modules to : #{new_modules.to_yaml}" | |
profile.modules=new_modules | |
puts "#{profile.label}(#{profile.id}) AR modules NOw = #{profile.modules.to_yaml}" | |
puts "SAVING (save(false))" | |
puts "save result is : #{profile.save(false)}" | |
puts "-- AFTER SAVE: #{profile.label} (#{profile.id}) AR modules NOw = #{profile.modules.to_yaml}" | |
profile.reload | |
puts "-- AFTER RELOAD: #{profile.label} (#{profile.id}) AR modules NOw = #{profile.modules.to_yaml}" | |
end | |
Profile.all.each do |profile| | |
puts "------TRY WITH update_attributes :" | |
new_modules = @new_modules["#{profile.label}"] | |
puts "UPDATING #{profile.label}(#{profile.id}) modules to : #{new_modules.to_yaml}" | |
profile.update_attributes (:modules => new_modules) | |
puts "#{profile.label}(#{profile.id}) AR modules NOw = #{profile.modules.to_yaml}" | |
# puts "SAVING (save)" | |
# puts "save result is : #{profile.save}" | |
puts "-- AFTER update_attributes: #{profile.label} (#{profile.id}) AR modules NOw = #{profile.modules.to_yaml}" | |
profile.reload | |
puts "-- AFTER update/RELOAD: #{profile.label} (#{profile.id}) AR modules NOw = #{profile.modules.to_yaml}" | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
------TRY WITH SETTING THE ATTRIBUTE : | |
SETTING super_admin(1) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- themes | |
- sidebar | |
- users | |
- settings | |
- profile | |
super_admin(1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
SAVING (save(false)) | |
save result is : true | |
-- AFTER SAVE: super_admin (1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
-- AFTER RELOAD: super_admin (1) AR modules NOw = --- [] | |
SETTING admin(2) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- profile | |
- settings | |
- users | |
admin(2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
SAVING (save(false)) | |
save result is : true | |
-- AFTER SAVE: admin (2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
-- AFTER RELOAD: admin (2) AR modules NOw = --- [] | |
SETTING editor(3) modules to : --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
editor(3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
SAVING (save(false)) | |
save result is : true | |
-- AFTER SAVE: editor (3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
-- AFTER RELOAD: editor (3) AR modules NOw = --- [] | |
SETTING columnist(4) modules to : --- | |
- dashboard | |
- write | |
- content | |
- profile | |
columnist(4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
SAVING (save(false)) | |
save result is : true | |
-- AFTER SAVE: columnist (4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
-- AFTER RELOAD: columnist (4) AR modules NOw = --- [] | |
SETTING guest(5) modules to : --- [] | |
guest(5) AR modules NOw = --- [] | |
SAVING (save(false)) | |
save result is : true | |
-- AFTER SAVE: guest (5) AR modules NOw = --- [] | |
-- AFTER RELOAD: guest (5) AR modules NOw = --- [] | |
------TRY WITH update_attributes : | |
UPDATING super_admin(1) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- themes | |
- sidebar | |
- users | |
- settings | |
- profile | |
super_admin(1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
-- AFTER update_attributes: super_admin (1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
-- AFTER update/RELOAD: super_admin (1) AR modules NOw = --- [] | |
UPDATING admin(2) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- profile | |
- settings | |
- users | |
admin(2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
-- AFTER update_attributes: admin (2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
-- AFTER update/RELOAD: admin (2) AR modules NOw = --- [] | |
UPDATING editor(3) modules to : --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
editor(3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
-- AFTER update_attributes: editor (3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
-- AFTER update/RELOAD: editor (3) AR modules NOw = --- [] | |
UPDATING columnist(4) modules to : --- | |
- dashboard | |
- write | |
- content | |
- profile | |
columnist(4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
-- AFTER update_attributes: columnist (4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
-- AFTER update/RELOAD: columnist (4) AR modules NOw = --- [] | |
UPDATING guest(5) modules to : --- [] | |
guest(5) AR modules NOw = --- [] | |
-- AFTER update_attributes: guest (5) AR modules NOw = --- [] | |
-- AFTER update/RELOAD: guest (5) AR modules NOw = --- [] | |
SUCK! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
------TRY WITH SETTING THE ATTRIBUTE : | |
SETTING super_admin(1) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- themes | |
- sidebar | |
- users | |
- settings | |
- profile | |
super_admin(1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
SAVING (save) | |
save result is : true | |
-- AFTER SAVE: super_admin (1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
-- AFTER RELOAD: super_admin (1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
------TRY WITH SETTING THE ATTRIBUTE : | |
SETTING admin(2) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- profile | |
- settings | |
- users | |
admin(2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
SAVING (save) | |
save result is : true | |
-- AFTER SAVE: admin (2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
-- AFTER RELOAD: admin (2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
------TRY WITH SETTING THE ATTRIBUTE : | |
SETTING editor(3) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- profile | |
editor(3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
SAVING (save) | |
save result is : true | |
-- AFTER SAVE: editor (3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
-- AFTER RELOAD: editor (3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
------TRY WITH SETTING THE ATTRIBUTE : | |
SETTING columnist(4) modules to : --- | |
- dashboard | |
- write | |
- content | |
- profile | |
columnist(4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
SAVING (save) | |
save result is : true | |
-- AFTER SAVE: columnist (4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
-- AFTER RELOAD: columnist (4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
------TRY WITH SETTING THE ATTRIBUTE : | |
SETTING guest(5) modules to : --- [] | |
guest(5) AR modules NOw = --- [] | |
SAVING (save) | |
save result is : true | |
-- AFTER SAVE: guest (5) AR modules NOw = --- [] | |
-- AFTER RELOAD: guest (5) AR modules NOw = --- [] | |
+----+-------------+-------------+--------------------------------------------------------------------------------+ | |
| id | label | nicename | modules | | |
+----+-------------+-------------+--------------------------------------------------------------------------------+ | |
| 1 | super_admin | Super Admin | dashboard, write, content, feedback, themes, sidebar, users, settings, profile | | |
| 2 | admin | Admin | dashboard, write, content, feedback, profile, settings, users | | |
| 3 | editor | Editor | dashboard, write, content, feedback, profile | | |
| 4 | columnist | Columnist | dashboard, write, content, profile | | |
| 5 | guest | Guest | | | |
+----+-------------+-------------+--------------------------------------------------------------------------------+ | |
------TRY WITH update_attributes : | |
UPDATING super_admin(1) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- themes | |
- sidebar | |
- users | |
- settings | |
- profile | |
super_admin(1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
-- AFTER update_attributes: super_admin (1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
-- AFTER update/RELOAD: super_admin (1) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :themes | |
- :sidebar | |
- :users | |
- :settings | |
- :profile | |
------TRY WITH update_attributes : | |
UPDATING admin(2) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- profile | |
- settings | |
- users | |
admin(2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
-- AFTER update_attributes: admin (2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
-- AFTER update/RELOAD: admin (2) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
- :settings | |
- :users | |
------TRY WITH update_attributes : | |
UPDATING editor(3) modules to : --- | |
- dashboard | |
- write | |
- content | |
- feedback | |
- profile | |
editor(3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
-- AFTER update_attributes: editor (3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
-- AFTER update/RELOAD: editor (3) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :feedback | |
- :profile | |
------TRY WITH update_attributes : | |
UPDATING columnist(4) modules to : --- | |
- dashboard | |
- write | |
- content | |
- profile | |
columnist(4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
-- AFTER update_attributes: columnist (4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
-- AFTER update/RELOAD: columnist (4) AR modules NOw = --- | |
- :dashboard | |
- :write | |
- :content | |
- :profile | |
------TRY WITH update_attributes : | |
UPDATING guest(5) modules to : --- [] | |
guest(5) AR modules NOw = --- [] | |
-- AFTER update_attributes: guest (5) AR modules NOw = --- [] | |
-- AFTER update/RELOAD: guest (5) AR modules NOw = --- [] | |
+----+-------------+-------------+--------------------------------------------------------------------------------+ | |
| id | label | nicename | modules | | |
+----+-------------+-------------+--------------------------------------------------------------------------------+ | |
| 1 | super_admin | Super Admin | dashboard, write, content, feedback, themes, sidebar, users, settings, profile | | |
| 2 | admin | Admin | dashboard, write, content, feedback, profile, settings, users | | |
| 3 | editor | Editor | dashboard, write, content, feedback, profile | | |
| 4 | columnist | Columnist | dashboard, write, content, profile | | |
| 5 | guest | Guest | | | |
+----+-------------+-------------+--------------------------------------------------------------------------------+ | |
YAY! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment