= my_obfuscate Standalone Ruby code for the selective rewriting of MySQL dumps in order to protect user privacy. = Install sudo gem install my_obfuscate = Example Usage Make an obfuscator.rb script: #!/usr/bin/env ruby require "rubygems" require "my_obfuscate" obfuscator = MyObfuscate.new({ :people => { :email => { :type => :email, :skip_regexes => [/^[\w\.\_]+@my_company\.com$/i] }, :ethnicity => { :type => :null }, :crypted_password => { :type => :fixed, :string => "SOME_FIXED_PASSWORD_FOR_EASE_OF_DEBUGGING" }, :salt => { :type => :fixed, :string => "SOME_THING" }, :remember_token => { :type => :null }, :remember_token_expires_at => { :type => :null }, :photo_file_name => { :type => :null }, :photo_content_type => { :type => :null }, :photo_file_size => { :type => :null }, :photo_updated_at => { :type => :null }, :postal_code => { :type => :fixed, :string => "94109" }, :name => { :type => :fixed, :string => "Production User" }, :relationship_status => { :type => :fixed, :one_of => ["Single", "Divorced", "Married", "Engaged", "In a Relationship"] }, :has_children => { :type => :integer, :between => 0..1 }, }, :invites => :truncate, :invite_requests => :truncate, :relationships => { :account_id => { :type => :string, :length => 8, :chars => MyObfuscate::NUMBER_CHARS }, :code => { :type => :string, :length => 8, :chars => MyObfuscate::USERNAME_CHARS } } }) obfuscator.obfuscate(STDIN, STDOUT) And to get an obfuscated dump: mysqldump -c --add-drop-table -u user -ppassword database | ruby obfuscator.rb > obfuscated_dump.sql Note that the -c option on mysqldump is required to use my_obfuscator. == Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (If you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Copyright Copyright (c) 2009 Honk. See LICENSE for details.