diff --git a/app/models/mongo.rb b/app/models/mongo.rb index 8befea7b3..5a1b6a1a5 100644 --- a/app/models/mongo.rb +++ b/app/models/mongo.rb @@ -4,4 +4,6 @@ module Mongo end class User < ActiveRecord::Base; end -end \ No newline at end of file + class Aspect < ActiveRecord::Base; end + class AspectMembership < ActiveRecord::Base; end +end diff --git a/db/migrate/20110105051803_create_import_tables.rb b/db/migrate/20110105051803_create_import_tables.rb index 141c0b11d..8b7c4939e 100644 --- a/db/migrate/20110105051803_create_import_tables.rb +++ b/db/migrate/20110105051803_create_import_tables.rb @@ -1,5 +1,21 @@ class CreateImportTables < ActiveRecord::Migration def self.up + create_table :mongo_aspects do |t| + t.string :mongo_id + t.string :name + t.string :user_mongo_id + t.timestamps + end + add_index :mongo_aspects, :user_mongo_id + + create_table :mongo_aspect_memberships do |t| + t.string :aspect_mongo_id + t.string :contact_mongo_id + t.timestamps + end + add_index :mongo_aspect_memberships, :aspect_mongo_id + add_index :mongo_aspect_memberships, :contact_mongo_id + create_table :mongo_users do |t| t.string :mongo_id t.string :username diff --git a/db/schema.rb b/db/schema.rb index 2ee656817..4feea90d6 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -70,6 +70,26 @@ ActiveRecord::Schema.define(:version => 20110105051803) do add_index "invitations", ["sender_id"], :name => "index_invitations_on_sender_id" + create_table "mongo_aspect_memberships", :force => true do |t| + t.string "aspect_mongo_id" + t.string "contact_mongo_id" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "mongo_aspect_memberships", ["aspect_mongo_id"], :name => "index_mongo_aspect_memberships_on_aspect_mongo_id" + add_index "mongo_aspect_memberships", ["contact_mongo_id"], :name => "index_mongo_aspect_memberships_on_contact_mongo_id" + + create_table "mongo_aspects", :force => true do |t| + t.string "mongo_id" + t.string "name" + t.string "user_mongo_id" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "mongo_aspects", ["user_mongo_id"], :name => "index_mongo_aspects_on_user_mongo_id" + create_table "mongo_users", :force => true do |t| t.string "mongo_id" t.string "username" diff --git a/lib/data_conversion/export_from_mongo.rb b/lib/data_conversion/export_from_mongo.rb index 862fc0cc8..0496dea95 100644 --- a/lib/data_conversion/export_from_mongo.rb +++ b/lib/data_conversion/export_from_mongo.rb @@ -33,15 +33,18 @@ module DataConversion end def models - @models ||= [{:name => :aspects}, - {:name => :comments}, - {:name => :contacts}, - {:name => :invitations}, - {:name => :notifications}, - {:name => :people}, - {:name => :posts}, - {:name => :requests}, - {:name => :users}, + @models ||= [ + {:name => :aspects}, + {:name => :comments, + :attrs => ["mongo_id", "post_mongo_id", "person_mongo_id", "diaspora_handle", "text", "youtube_titles"], + :mongo_attrs => ["_id", "post_id", "person_id", "diaspora_handle", "text", "youtube_titles"]}, + {:name => :contacts}, + {:name => :invitations}, + {:name => :notifications}, + {:name => :people}, + {:name => :posts}, + {:name => :requests}, + {:name => :users}, ] end @@ -95,10 +98,8 @@ module DataConversion end def comments_json_to_csv model_hash - model_hash[:attrs] = ["mongo_id", "post_mongo_id", "person_mongo_id", "diaspora_handle", "text", "youtube_titles"] generic_json_to_csv(model_hash) do |hash| - mongo_attrs = ["_id", "post_id", "person_id", "diaspora_handle", "text", "youtube_titles"] - mongo_attrs.map { |attr_name| hash[attr_name] } + model_hash[:mongo_attrs].map { |attr_name| hash[attr_name] } end end @@ -193,13 +194,13 @@ module DataConversion def aspects_json_to_csv model_hash log "Converting aspects json to aspects and post_visibilities csvs" - model_hash[:main_attrs] = ["mongo_id", "name", "created_at", "updated_at"] + model_hash[:main_attrs] = ["mongo_id", "name", "user_mongo_id", "created_at", "updated_at"] #Post Visibilities model_hash[:join_table_name] = :post_visibilities model_hash[:join_table_attrs] = ["aspect_mongo_id", "post_mongo_id"] generic_json_to_two_csvs(model_hash) do |hash| - mongo_attrs = ["_id", "name", "created_at", "updated_at"] + mongo_attrs = ["_id", "name", "user_id", "created_at", "updated_at"] main_row = mongo_attrs.map { |attr_name| hash[attr_name] } post_visibility_rows = hash["post_ids"].map { |id| [hash["_id"], id] } [main_row, post_visibility_rows] @@ -227,4 +228,4 @@ module DataConversion join_csv.close end end -end \ No newline at end of file +end diff --git a/lib/data_conversion/import_to_mysql.rb b/lib/data_conversion/import_to_mysql.rb index 80999adbb..3f68dcd7d 100644 --- a/lib/data_conversion/import_to_mysql.rb +++ b/lib/data_conversion/import_to_mysql.rb @@ -4,12 +4,20 @@ module DataConversion class ImportToMysql < DataConversion::Base - def import_raw - Mongo::User.connection.execute <<-SQL - LOAD DATA INFILE '#{full_path}/users.csv' INTO TABLE mongo_users + def infile_opts + <<-OPTS FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 1 LINES +OPTS + end + def load_string model_name + "LOAD DATA INFILE '#{full_path}/#{model_name}.csv' INTO TABLE mongo_#{model_name}" + end + def import_raw_users + Mongo::User.connection.execute <<-SQL + #{load_string("users")} + #{infile_opts} (mongo_id, username, serialized_private_key, encrypted_password, invites, invitation_token, invitation_sent_at, getting_started, disable_mail, language, last_sign_in_ip, @last_sign_in_at_var, @@ -17,6 +25,20 @@ module DataConversion SET last_sign_in_at = FROM_UNIXTIME(LEFT(@last_sign_in_at_var, LENGTH(@last_sign_in_at_var)-3)); SQL end + def import_raw_aspects + Mongo::Aspect.connection.execute <<-SQL + #{load_string("aspects")} + #{infile_opts} + (mongo_id, name, user_mongo_id, @created_at, @updated_at) + SQL + end + def import_raw_aspect_memberships + Mongo::Aspect.connection.execute <<-SQL + #{load_string("aspect_memberships")} + #{infile_opts} + (contact_mongo_id, aspect_mongo_id) + SQL + end end end diff --git a/spec/fixtures/data_conversion/users.csv b/spec/fixtures/data_conversion/users.csv index e87efcf34..180599647 100644 --- a/spec/fixtures/data_conversion/users.csv +++ b/spec/fixtures/data_conversion/users.csv @@ -1,53 +1,233 @@ mongo_id,username,serialized_private_key,encrypted_password,invites,invitation_token,invitation_sent_at,getting_started,disable_mail,language,last_sign_in_ip,last_sign_in_at,reset_password_token,password_salt -4d1513542367bc2525000002,beckett,"-----BEGIN RSA PRIVATE KEY----- -MIIJKgIBAAKCAgEA0rMmGTfNUnhZVE5xdKDQAQZqAL31gldypxlOWKEC4usHCjB8 -0eEsrRgbgAXSCbfOHT/jh6HC0uL6j2cNwSTV54qWHv9TRQvRah9/3F7wg9Q689L1 -0EksdOYxCWiEPzsBqqaMOaePErdBVY19VI68kPURUwfATF2atVRuaZwvEqe+Aacb -/qBmeq+IHhWdTIF+Lj/gmahKhr9RjNVDGhXYM1gBFjpQWUpID/ChFH8NMT/faFDg -ytz97YYHp+UmRvgWPCWDbvQvn/8ArfRG2LQrfdRlX6BkBvWZzUmZYkGBYywXyBKy -5iOAe6dowUbsqzrCij921jOCWZynhYB8oSI6b73CeRRwIZc47qalf9JM3rq/gJ9g -lt05PIEGS1+Kt+Ugi8FbXzhtpwRFu7lhVaTIZHPBF65OFOueQgr4nV011DuHAFtd -gFN4J364jzloUFDdC6jtefkxVwa/grzl+WpomacFXOagqI1LG8nLhs5C4p0LvWM4 -PJ9cKQUzbuOgas1Rmi3igPH7GR1vfr8b8l58SmBB/Qkv68w9gSEKO6V9404fspzD -ibm7TaDy34e8ip726eqBs2yPjPoJAh/e9GJRrJCvYKEJjDq4JNflSmvdVaTbTDaX -Ai8MSyOHJm5nJ0SvKP3sEbn44NaTG8CJSOsWrxkgnisLyIwfWoKVlwa0IpECAwEA -AQKCAgAW04nBGaaI1Lj4xTbNZ86hDczWH75FTKwDJl6yg18IrmWo2O/s3PQ2HHJ+ -QCMtIliWGqHPw9qTdjum5Yc78X2rA/yXhxnCVTFuydLUUQTFg2yPlb9DvWmvkHCn -kEcjgoT/s+NlK534bRoK5rU5P+111tb1o9VVcJ6eHnOHxX/kCYAwNaZ2w3HWwMWC -XN0ZuL2uzQTMIMtSJc/z7fbDELLHfTVA7zhdNAryjyMkUU9gkoblij2QPLjVzrtt -mQm4jo/6HCZNEu9F6h5suhYizAIaM7R306yChIERGHQhjO8zi0dYSY5QGHCG9PAI -YGKrekYxLAb31cS9aJdNg0n9OvQRjKk2JxYh5enMiCuL8kOJkGQ8tAuhPfRPwYBn -XEU7P9vmXsafpj3Nibxqefc7y8bt77rjWcWLny1DFRvBg2tPIUOtwPs04Bo6iDkw -Ol8LTk6fFxaXz74Be+k4X7uPGrI3on2uf51ax1K3Ed06OKxOghwbEPUOYy6YmTzH -GaBj7leN91aAydp4aJGAbhhz7b5aJPZQ9uwEsvFtrGss6xx5C75/Gl09c+SngQF4 -Ue1z69FnfjAfU+oUuYfhV46nxgJgIPe4L61XThEhm4gDqWHp7i6UcJ0Wk8fLtern -XqqyCIse1ZDwT+CdI1mmCZUyBeRY+R6cWmryDW9DIjdmwdaqQQKCAQEA7zILV8ps -fy7WHx8lvRVoMxSl80dAeCAchhZJy9SeV4UaO8GdQLffuXoAeZVKsQZtGQjumzJB -TXDYUm8CLv9k1xUMeAEUT1uO2+bn2K6MOJ+beQQyLkVCDpiH1PCIVQ2UlGCI0Z7k -cGOGMdvN/vRD9SB/sa/siqbawFyIsnwGxiers6GO4tTBQRL5j1xp8AfsY/6UHp0m -OTpIrvAI6iMustwEDT/jBETcpG/qR4f6Udn1dUEsHp5BekrbEHrBOGDkvppcPaXN -mT3tnhvU/21ZEh9A40obMYLztX+MjZTlFj8MEOsHJmBiVObm/QJo827fj5y9Eb2c -GtcTATleqvR23QKCAQEA4YCbTSab/z5ciGMoHZmvyjwMtVFAIIj7bQOW+Fv57bEk -HuBXNayzQu/sofPt/6FPPGb+pgrB/xChc1nq0pmR/Ft9KrfLOs4v1wniq5rXX0YK -l0KYeYN5bOCWfarGYi4U6X3/A7SE6vLkUdUJgelCQ7t1wkIZRERinFWpPf8f2ue4 -k8PA3ZAfgNqJhx3tdEkagz3cG5MS6p/4oaqFAIhGaRcoZmXNm9vaf92gwafglsO0 -St0aRM45oQl6lj4BF/qnrpuumI3APRSxXFexqM+h/weGFxpz3gKCWODm+221TPjc -bqu8hW2fZCZ1jHXe2LSwCwtl5LA62fFKexEwF8RtRQKCAQEAoKYL2DqsA/+A8AYL -YqMuCKCllG8WbZejkKsHhU6XylAq/ldbNkxIhlnaV85dC+g0/ctx9eoa0dgocbT8 -0nPVVl9csHyJF4N2v1ql/HG+24jW8sBOs6TwaL0o/WtPJVCpqb3sJl2BL7qoNnRa -NhH4UnoxSTXOuJC3+torNTT3l76tI0gun0olQX9s/UwkGoI30jD5alZBhc4PYu70 -DczzYE1Eq2FtJ0DYr9g6kTBSfwbURJww9Z90ep4r4zWO8D6jYyBpMz5Yh8OAA+DN -fYADgphbDEyJVweMhynTTIPkGLzfbb1sX+n8IOmz2dn0gwrEO8AZfADNB3nL2dae -LlNiQQKCAQEAitaBx6iD10zv79EM+9yJzPvX3zLdRqrQEjhplRQb9upfkNsTFqrz -27yYdsYWvJL2k/vdwSFSe9YjcT/lQjDnHva9Q7XRXK1h6wXdF0bIX5JiJusLsZTv -B8fnIAwrBHvWyEOY5REZ3QYa6P8/UUrqT4V1ZVsI720jQZnED7WqST7t95xIfKGl -o9HpZtVYQ4ZW2oMVp6yPswE3NWIlbUR6BW4Ko7D+PH3KM3ui5FiWAH0R3h3vdHl8 -JdgOL76RMdBTuT+E6cwsle7NnEspyQO9e6WIO2U//WqSEmK2FAth2rhGD6WQ9p2d -yy2aphZUVBw7XzFvVLPkKBdVghv8/kUj+QKCAQEAirsiUwd8EQeoUf71U7ZUBOWs -kJV8giTLOPu8B4RYPd5P/1Y1mCUbzR2eb9/fGQM27HWJtJCgbwvX7/IFJtoeiMx1 -tvgqxDGHnqNUE6RQXwUQbrcT+MTrEzvm2hgVBj+JzOwKp+Vhu6CQdykOXZKcyiNk -3peynAGHacNxj/PacLXsuQsB7nMlOH+dI0uHFkeqFvxXSLtK8YVV9UOcBESaFXay -nuXGF7DEK9FYPYCckWZh0b1UmMrFC+aw4FP7X2u/XG/y14EkTHJ7e9N5G1ZLcanE -UhoDRoEC4rRtnO8/+cZ8YZRGO+EGU2PeaYWDgQdP2hENEf0oMd7XenRrllqcuA== +4d090bd1cc8cb4054e000295,bob16203059c,"-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDpz+iHrChr3muJXy3jSf0cXzXeSN3mpdfIDxFubTTSwVzV8KF1 +Kf+42uJTsnFdTxZN22z5bO/JAPfkrcqh8megzV4SEDCrfrp7zhIz0T4Im77QNR2O +jBU8JrxW/kjbxyvQoO9A0+4Mje9VKioLGgVfiprUjWh3VnOR0k3xV0WB6wIDAQAB +AoGAMJWFKfv6AkAbdFYUwO/06lpWZTQa9/xqFCYdZybGHS0Uz1fLFP9/JbhF40Jn +EA6JAfCgekvKn6fV2uzJ+FDYe0m7xE6A9l4GrQzXqxYAvz8AijaD1iaqKp0OviVk +jMCnpLKqUiy0wd271VGslsaIqv1/WxZkrlr/38GX8f/AItECQQD7A17OXx6cOcj+ +8+BTAeElSkYn8bdevO7ybyIKYSU7qi0gsDgJDK0GFxhgATFM1su+s01Ao0qiJBMJ +zptxzHJnAkEA7nUOH+tmoTbWT1luMYCFKO8CJ60pp/s5Z7WN58kky5CTtEyg95Dn +eSZYSFZ8RqG1jkajgKipa6sRbDOfSsHp3QJBAKF/+6GgBZvSegW/d1cw4GETtqvA +k5B60upconQ3KLOIvFxJxOPdqf0/IsmyOrwLfy+FQXETHtPPjghDTDQdrIUCQH9J +PpPtTShLJFTQ8RA9gVcbVfQl6/F+GeNxN2F9rkV3VFDPArGDyPuTa1aZy9bMJSTg +MhDQdzdA5pjyaVo3boUCQBj1oJuPNxNYJYC3tr2Xo1eRALSPIZRPHFoit65FZ60b +ynAT6zxy3Iz3/X02P9EVs7O/nfI1PEmMVsXZ/xANgAk= -----END RSA PRIVATE KEY----- -",$2a$10$i7ulgssUfhg9lA.FxT2ugOiYSUh.91NvD9X21m1M2AkPRfxbkQv5W,5,,,false,false,en,127.0.0.1,1293241318000,,$2a$10$i7ulgssUfhg9lA.FxT2ugO +",$2a$10$YnZL5qP.xOwI3.UCytPbOuO0QX.vwBDEuyZhgutCEEPsg3pFB.gj.,5,,,true,false,en,,1292546796000,,$2a$10$YnZL5qP.xOwI3.UCytPbOu +4d090bd1cc8cb4054e000298,bob1637c0b8e,"-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDpz+iHrChr3muJXy3jSf0cXzXeSN3mpdfIDxFubTTSwVzV8KF1 +Kf+42uJTsnFdTxZN22z5bO/JAPfkrcqh8megzV4SEDCrfrp7zhIz0T4Im77QNR2O +jBU8JrxW/kjbxyvQoO9A0+4Mje9VKioLGgVfiprUjWh3VnOR0k3xV0WB6wIDAQAB +AoGAMJWFKfv6AkAbdFYUwO/06lpWZTQa9/xqFCYdZybGHS0Uz1fLFP9/JbhF40Jn +EA6JAfCgekvKn6fV2uzJ+FDYe0m7xE6A9l4GrQzXqxYAvz8AijaD1iaqKp0OviVk +jMCnpLKqUiy0wd271VGslsaIqv1/WxZkrlr/38GX8f/AItECQQD7A17OXx6cOcj+ +8+BTAeElSkYn8bdevO7ybyIKYSU7qi0gsDgJDK0GFxhgATFM1su+s01Ao0qiJBMJ +zptxzHJnAkEA7nUOH+tmoTbWT1luMYCFKO8CJ60pp/s5Z7WN58kky5CTtEyg95Dn +eSZYSFZ8RqG1jkajgKipa6sRbDOfSsHp3QJBAKF/+6GgBZvSegW/d1cw4GETtqvA +k5B60upconQ3KLOIvFxJxOPdqf0/IsmyOrwLfy+FQXETHtPPjghDTDQdrIUCQH9J +PpPtTShLJFTQ8RA9gVcbVfQl6/F+GeNxN2F9rkV3VFDPArGDyPuTa1aZy9bMJSTg +MhDQdzdA5pjyaVo3boUCQBj1oJuPNxNYJYC3tr2Xo1eRALSPIZRPHFoit65FZ60b +ynAT6zxy3Iz3/X02P9EVs7O/nfI1PEmMVsXZ/xANgAk= +-----END RSA PRIVATE KEY----- +",$2a$10$7V/dGPKJHMGQ.BJeuSkyhuTydZCYFhYPNsnyLhrJm4uGy4GGjICf6,5,,,true,false,en,,,,$2a$10$7V/dGPKJHMGQ.BJeuSkyhu +4d0916c1cc8cb40e93000002,tom,"-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- +",$2a$10$zVxUfHy/6h76X0jvwt8HXuntU98OePdKISVwnEfBbhRMkbg0W3vRO,5,,,false,false,en,127.0.0.1,1292544034000,,$2a$10$zVxUfHy/6h76X0jvwt8HXu +4d0916c2cc8cb40e93000006,korth,"-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- +",$2a$10$2Si2cbusIuyv1qoJlfrabO73QwBqPDWFSIjpbCJbXfQ7WWWyDRoBO,5,,,false,false,en,127.0.0.1,1292544107000,,$2a$10$2Si2cbusIuyv1qoJlfrabO +4d092a79cc8cb4149a000295,bob162e54b32,"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEufxz2fK4kuLDpyh8bSo+EaRXTqK1UPu1+UNVEfJ3TMoCANEs +OU3Z6xKIsqVfhttNR7sZDmFK/uvnjlOogGNG6bpyMRvRVGUHxq1Qul3lq0VRseDV +zLIG2mPxkMr9aZIrNIiNIK+k3llTz0czGD/BbbGy1jcfl94ZMGQMQWNfhwIDAQAB +AoGAa6Vtq6MF+tN9PBw6viMp6z7SE2gXBmoi4gdcPa+NYpRlMUVrL+zHWcgUozJF +5YiwdZAbo/FHcbceNN2fj2N5bn0VbagirApqfZJSOXHC08ctuAvHrgNYGWa1xbh1 +hU5kJiWs+6QumaMHeS1e2OlFp9jJ6/Fvyo/iOu36HIHgduECQQDvkW3IFwgq2Ysd +7rX+R20ZwmVC2UoN1xulnVpbUtWkTyi251c2v7hsnC2IaYO1CF1qEZTyKm21DUe6 +uYPC3rkXAkEA0jhNkDb9pv8DH+P2eVMwTbY97N1mj1xaFd0yHc9gmie6oIBQNiXh +BmpNwTrUGdV5zFhf/+DHGr3WegU71QKzEQJAeBuIV628aYdBqRMZ6U80EpsUm4xH +BWNYOBMIzwpblBIfzntzjT5XnxQ5+88yuhtkgh4od7Tv5bqvwJzrw1JYpwJBAIFY +a0EE1OVfmwiQNyNHcD0gmNGZGHW1GSjCxQdahdHUCByhVrk6bU6JMfZmwAJ1O0/k +QI0sPNXTYJgLiFj0JEECQQCyMX4Vk+aGV3HHSbHtw/BBMSUiE045ZZTk+ie/Hz8d +bKQRf8uDfaNxyi8wcvDaBEOrmSWbmtxwx3hP0ge3inZX +-----END RSA PRIVATE KEY----- +",$2a$10$JOFkzeNMo2zFBMoVcVdd2ufx9ZRkpkBvAXzBjrwDoOeS/C8xRxp4m,5,,,true,false,en,,,,$2a$10$JOFkzeNMo2zFBMoVcVdd2u +4d092a79cc8cb4149a000298,bob1637d419c,"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEufxz2fK4kuLDpyh8bSo+EaRXTqK1UPu1+UNVEfJ3TMoCANEs +OU3Z6xKIsqVfhttNR7sZDmFK/uvnjlOogGNG6bpyMRvRVGUHxq1Qul3lq0VRseDV +zLIG2mPxkMr9aZIrNIiNIK+k3llTz0czGD/BbbGy1jcfl94ZMGQMQWNfhwIDAQAB +AoGAa6Vtq6MF+tN9PBw6viMp6z7SE2gXBmoi4gdcPa+NYpRlMUVrL+zHWcgUozJF +5YiwdZAbo/FHcbceNN2fj2N5bn0VbagirApqfZJSOXHC08ctuAvHrgNYGWa1xbh1 +hU5kJiWs+6QumaMHeS1e2OlFp9jJ6/Fvyo/iOu36HIHgduECQQDvkW3IFwgq2Ysd +7rX+R20ZwmVC2UoN1xulnVpbUtWkTyi251c2v7hsnC2IaYO1CF1qEZTyKm21DUe6 +uYPC3rkXAkEA0jhNkDb9pv8DH+P2eVMwTbY97N1mj1xaFd0yHc9gmie6oIBQNiXh +BmpNwTrUGdV5zFhf/+DHGr3WegU71QKzEQJAeBuIV628aYdBqRMZ6U80EpsUm4xH +BWNYOBMIzwpblBIfzntzjT5XnxQ5+88yuhtkgh4od7Tv5bqvwJzrw1JYpwJBAIFY +a0EE1OVfmwiQNyNHcD0gmNGZGHW1GSjCxQdahdHUCByhVrk6bU6JMfZmwAJ1O0/k +QI0sPNXTYJgLiFj0JEECQQCyMX4Vk+aGV3HHSbHtw/BBMSUiE045ZZTk+ie/Hz8d +bKQRf8uDfaNxyi8wcvDaBEOrmSWbmtxwx3hP0ge3inZX +-----END RSA PRIVATE KEY----- +",$2a$10$as./Vlx7L8gQs4Kh7MQEOuUm9S/.1JnvcZIlM/ks2fROPIlc8LqLG,5,,,true,false,en,,,,$2a$10$as./Vlx7L8gQs4Kh7MQEOu +4d092a79cc8cb4149a00029b,bob164a4c073,"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEufxz2fK4kuLDpyh8bSo+EaRXTqK1UPu1+UNVEfJ3TMoCANEs +OU3Z6xKIsqVfhttNR7sZDmFK/uvnjlOogGNG6bpyMRvRVGUHxq1Qul3lq0VRseDV +zLIG2mPxkMr9aZIrNIiNIK+k3llTz0czGD/BbbGy1jcfl94ZMGQMQWNfhwIDAQAB +AoGAa6Vtq6MF+tN9PBw6viMp6z7SE2gXBmoi4gdcPa+NYpRlMUVrL+zHWcgUozJF +5YiwdZAbo/FHcbceNN2fj2N5bn0VbagirApqfZJSOXHC08ctuAvHrgNYGWa1xbh1 +hU5kJiWs+6QumaMHeS1e2OlFp9jJ6/Fvyo/iOu36HIHgduECQQDvkW3IFwgq2Ysd +7rX+R20ZwmVC2UoN1xulnVpbUtWkTyi251c2v7hsnC2IaYO1CF1qEZTyKm21DUe6 +uYPC3rkXAkEA0jhNkDb9pv8DH+P2eVMwTbY97N1mj1xaFd0yHc9gmie6oIBQNiXh +BmpNwTrUGdV5zFhf/+DHGr3WegU71QKzEQJAeBuIV628aYdBqRMZ6U80EpsUm4xH +BWNYOBMIzwpblBIfzntzjT5XnxQ5+88yuhtkgh4od7Tv5bqvwJzrw1JYpwJBAIFY +a0EE1OVfmwiQNyNHcD0gmNGZGHW1GSjCxQdahdHUCByhVrk6bU6JMfZmwAJ1O0/k +QI0sPNXTYJgLiFj0JEECQQCyMX4Vk+aGV3HHSbHtw/BBMSUiE045ZZTk+ie/Hz8d +bKQRf8uDfaNxyi8wcvDaBEOrmSWbmtxwx3hP0ge3inZX +-----END RSA PRIVATE KEY----- +",$2a$10$wIZ3fuT9vyfgGQ9h6x.lLuDdq7CRa5zEzAqp/Eq/pfO3i1d.8zIdK,5,,,true,false,en,,,,$2a$10$wIZ3fuT9vyfgGQ9h6x.lLu +4d092a79cc8cb4149a00029e,bob1657689c2,"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEufxz2fK4kuLDpyh8bSo+EaRXTqK1UPu1+UNVEfJ3TMoCANEs +OU3Z6xKIsqVfhttNR7sZDmFK/uvnjlOogGNG6bpyMRvRVGUHxq1Qul3lq0VRseDV +zLIG2mPxkMr9aZIrNIiNIK+k3llTz0czGD/BbbGy1jcfl94ZMGQMQWNfhwIDAQAB +AoGAa6Vtq6MF+tN9PBw6viMp6z7SE2gXBmoi4gdcPa+NYpRlMUVrL+zHWcgUozJF +5YiwdZAbo/FHcbceNN2fj2N5bn0VbagirApqfZJSOXHC08ctuAvHrgNYGWa1xbh1 +hU5kJiWs+6QumaMHeS1e2OlFp9jJ6/Fvyo/iOu36HIHgduECQQDvkW3IFwgq2Ysd +7rX+R20ZwmVC2UoN1xulnVpbUtWkTyi251c2v7hsnC2IaYO1CF1qEZTyKm21DUe6 +uYPC3rkXAkEA0jhNkDb9pv8DH+P2eVMwTbY97N1mj1xaFd0yHc9gmie6oIBQNiXh +BmpNwTrUGdV5zFhf/+DHGr3WegU71QKzEQJAeBuIV628aYdBqRMZ6U80EpsUm4xH +BWNYOBMIzwpblBIfzntzjT5XnxQ5+88yuhtkgh4od7Tv5bqvwJzrw1JYpwJBAIFY +a0EE1OVfmwiQNyNHcD0gmNGZGHW1GSjCxQdahdHUCByhVrk6bU6JMfZmwAJ1O0/k +QI0sPNXTYJgLiFj0JEECQQCyMX4Vk+aGV3HHSbHtw/BBMSUiE045ZZTk+ie/Hz8d +bKQRf8uDfaNxyi8wcvDaBEOrmSWbmtxwx3hP0ge3inZX +-----END RSA PRIVATE KEY----- +",$2a$10$51YIH/KKLpigFDMgmv/kqeofeyeNSiflKSMaDNFhf6UTTh2OL1j02,5,,,true,false,en,,,,$2a$10$51YIH/KKLpigFDMgmv/kqe +4d092a7acc8cb4149a0002a1,bob1668dd5b4,"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEufxz2fK4kuLDpyh8bSo+EaRXTqK1UPu1+UNVEfJ3TMoCANEs +OU3Z6xKIsqVfhttNR7sZDmFK/uvnjlOogGNG6bpyMRvRVGUHxq1Qul3lq0VRseDV +zLIG2mPxkMr9aZIrNIiNIK+k3llTz0czGD/BbbGy1jcfl94ZMGQMQWNfhwIDAQAB +AoGAa6Vtq6MF+tN9PBw6viMp6z7SE2gXBmoi4gdcPa+NYpRlMUVrL+zHWcgUozJF +5YiwdZAbo/FHcbceNN2fj2N5bn0VbagirApqfZJSOXHC08ctuAvHrgNYGWa1xbh1 +hU5kJiWs+6QumaMHeS1e2OlFp9jJ6/Fvyo/iOu36HIHgduECQQDvkW3IFwgq2Ysd +7rX+R20ZwmVC2UoN1xulnVpbUtWkTyi251c2v7hsnC2IaYO1CF1qEZTyKm21DUe6 +uYPC3rkXAkEA0jhNkDb9pv8DH+P2eVMwTbY97N1mj1xaFd0yHc9gmie6oIBQNiXh +BmpNwTrUGdV5zFhf/+DHGr3WegU71QKzEQJAeBuIV628aYdBqRMZ6U80EpsUm4xH +BWNYOBMIzwpblBIfzntzjT5XnxQ5+88yuhtkgh4od7Tv5bqvwJzrw1JYpwJBAIFY +a0EE1OVfmwiQNyNHcD0gmNGZGHW1GSjCxQdahdHUCByhVrk6bU6JMfZmwAJ1O0/k +QI0sPNXTYJgLiFj0JEECQQCyMX4Vk+aGV3HHSbHtw/BBMSUiE045ZZTk+ie/Hz8d +bKQRf8uDfaNxyi8wcvDaBEOrmSWbmtxwx3hP0ge3inZX +-----END RSA PRIVATE KEY----- +",$2a$10$DjfB/YeuM6WxyvdRYYnPiubs3GdX7a2tImsX2hUT7ld.ByKe.CXBm,5,,,true,false,en,,,,$2a$10$DjfB/YeuM6WxyvdRYYnPiu +4d092a7acc8cb4149a0002a4,bob16729057c,"-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEufxz2fK4kuLDpyh8bSo+EaRXTqK1UPu1+UNVEfJ3TMoCANEs +OU3Z6xKIsqVfhttNR7sZDmFK/uvnjlOogGNG6bpyMRvRVGUHxq1Qul3lq0VRseDV +zLIG2mPxkMr9aZIrNIiNIK+k3llTz0czGD/BbbGy1jcfl94ZMGQMQWNfhwIDAQAB +AoGAa6Vtq6MF+tN9PBw6viMp6z7SE2gXBmoi4gdcPa+NYpRlMUVrL+zHWcgUozJF +5YiwdZAbo/FHcbceNN2fj2N5bn0VbagirApqfZJSOXHC08ctuAvHrgNYGWa1xbh1 +hU5kJiWs+6QumaMHeS1e2OlFp9jJ6/Fvyo/iOu36HIHgduECQQDvkW3IFwgq2Ysd +7rX+R20ZwmVC2UoN1xulnVpbUtWkTyi251c2v7hsnC2IaYO1CF1qEZTyKm21DUe6 +uYPC3rkXAkEA0jhNkDb9pv8DH+P2eVMwTbY97N1mj1xaFd0yHc9gmie6oIBQNiXh +BmpNwTrUGdV5zFhf/+DHGr3WegU71QKzEQJAeBuIV628aYdBqRMZ6U80EpsUm4xH +BWNYOBMIzwpblBIfzntzjT5XnxQ5+88yuhtkgh4od7Tv5bqvwJzrw1JYpwJBAIFY +a0EE1OVfmwiQNyNHcD0gmNGZGHW1GSjCxQdahdHUCByhVrk6bU6JMfZmwAJ1O0/k +QI0sPNXTYJgLiFj0JEECQQCyMX4Vk+aGV3HHSbHtw/BBMSUiE045ZZTk+ie/Hz8d +bKQRf8uDfaNxyi8wcvDaBEOrmSWbmtxwx3hP0ge3inZX +-----END RSA PRIVATE KEY----- +",$2a$10$.tnZzU1w.vw.AtqbYpPQGO0pidHoyfMqgDzGyUvvQf.DitmYrCThi,5,,,true,false,en,,,,$2a$10$.tnZzU1w.vw.AtqbYpPQGO diff --git a/spec/lib/data_conversion/import_to_mysql_spec.rb b/spec/lib/data_conversion/import_to_mysql_spec.rb index 8ad37bbb4..782ecafef 100644 --- a/spec/lib/data_conversion/import_to_mysql_spec.rb +++ b/spec/lib/data_conversion/import_to_mysql_spec.rb @@ -19,32 +19,70 @@ describe DataConversion::ImportToMysql do end describe "#import_raw" do + describe "aspects" do + before do + copy_fixture_for("aspects") + end + + it "imports data into the mongo_aspects table" do + Mongo::Aspect.count.should == 0 + @migrator.import_raw_aspects + Mongo::Aspect.count.should == 4 + end + + it "imports all the columns" do + @migrator.import_raw_aspects + aspect = Mongo::Aspect.first + aspect.name.should == "Family" + aspect.mongo_id.should == "4d0916c2cc8cb40e93000004" + aspect.user_mongo_id.should == "4d0916c1cc8cb40e93000002" + end + end + + describe "aspect_memberships" do + before do + copy_fixture_for("aspect_memberships") + end + + it "imports data into the mongo_aspects table" do + Mongo::AspectMembership.count.should == 0 + @migrator.import_raw_aspect_memberships + Mongo::AspectMembership.count.should == 17 + end + + it "imports all the columns" do + @migrator.import_raw_aspect_memberships + aspectm = Mongo::AspectMembership.first + aspectm.contact_mongo_id.should == "4d0916c4cc8cb40e9300000a" + aspectm.aspect_mongo_id.should =="4d0916c2cc8cb40e93000004" + end + end describe "users" do before do copy_fixture_for("users") end it "imports data into the mongo_users table" do Mongo::User.count.should == 0 - @migrator.import_raw - Mongo::User.count.should == 1 + @migrator.import_raw_users + Mongo::User.count.should == 10 end it "imports all the columns" do - @migrator.import_raw - beckett = Mongo::User.first - beckett.mongo_id.should == "4d1513542367bc2525000002" - beckett.username.should == "beckett" - beckett.serialized_private_key.should_not be_nil - beckett.encrypted_password.should_not be_nil - beckett.invites.should == 5 - beckett.invitation_token.should == "" - beckett.invitation_sent_at.should be_nil - beckett.getting_started.should be_false - beckett.disable_mail.should be_false - beckett.language.should == 'en' - beckett.last_sign_in_ip.should == '127.0.0.1' - beckett.last_sign_in_at.to_i.should == 1293241318 - beckett.reset_password_token.should == "" - beckett.password_salt.should_not be_nil + @migrator.import_raw_users + bob = Mongo::User.first + bob.mongo_id.should == "4d090bd1cc8cb4054e000295" + bob.username.should == "bob16203059c" + bob.serialized_private_key.should_not be_nil + bob.encrypted_password.should_not be_nil + bob.invites.should == 5 + bob.invitation_token.should == "" + bob.invitation_sent_at.should be_nil + bob.getting_started.should be_false + bob.disable_mail.should be_false + bob.language.should == 'en' + bob.last_sign_in_ip.should == '' + bob.last_sign_in_at.to_i.should == 1292546796 + bob.reset_password_token.should == "" + bob.password_salt.should_not be_nil end end end