raw import for requests

This commit is contained in:
Raphael 2011-01-05 17:38:00 -08:00
parent 0d80ded2d3
commit ff1cad6e63
5 changed files with 54 additions and 1 deletions

View file

@ -14,7 +14,7 @@ module Mongo
#Post? #Post?
class PostVisibility < ActiveRecord::Base; end class PostVisibility < ActiveRecord::Base; end
#class Profile < ActiveRecord::Base; end #class Profile < ActiveRecord::Base; end
#class Request < ActiveRecord::Base; end class Request < ActiveRecord::Base; end
#Service? #Service?
#StatusMessage? #StatusMessage?
class User < ActiveRecord::Base; end class User < ActiveRecord::Base; end

View file

@ -48,6 +48,17 @@ class CreateImportTables < ActiveRecord::Migration
add_index :mongo_post_visibilities, :aspect_mongo_id add_index :mongo_post_visibilities, :aspect_mongo_id
add_index :mongo_post_visibilities, :post_mongo_id add_index :mongo_post_visibilities, :post_mongo_id
create_table :mongo_requests do |t|
t.string :mongo_id
t.string :sender_mongo_id
t.string :recipient_mongo_id
t.string :aspect_mongo_id
t.timestamps
end
add_index :mongo_requests, :sender_mongo_id
add_index :mongo_requests, :recipient_mongo_id
add_index :mongo_requests, [:sender_mongo_id, :recipient_mongo_id], :unique => true
create_table :mongo_users do |t| create_table :mongo_users do |t|
t.string :mongo_id t.string :mongo_id
t.string :username t.string :username

View file

@ -128,6 +128,19 @@ ActiveRecord::Schema.define(:version => 20110105051803) do
add_index "mongo_post_visibilities", ["aspect_mongo_id"], :name => "index_mongo_post_visibilities_on_aspect_mongo_id" add_index "mongo_post_visibilities", ["aspect_mongo_id"], :name => "index_mongo_post_visibilities_on_aspect_mongo_id"
add_index "mongo_post_visibilities", ["post_mongo_id"], :name => "index_mongo_post_visibilities_on_post_mongo_id" add_index "mongo_post_visibilities", ["post_mongo_id"], :name => "index_mongo_post_visibilities_on_post_mongo_id"
create_table "mongo_requests", :force => true do |t|
t.string "mongo_id"
t.string "sender_mongo_id"
t.string "recipient_mongo_id"
t.string "aspect_mongo_id"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "mongo_requests", ["recipient_mongo_id"], :name => "index_mongo_requests_on_recipient_mongo_id"
add_index "mongo_requests", ["sender_mongo_id", "recipient_mongo_id"], :name => "index_mongo_requests_on_sender_mongo_id_and_recipient_mongo_id", :unique => true
add_index "mongo_requests", ["sender_mongo_id"], :name => "index_mongo_requests_on_sender_mongo_id"
create_table "mongo_users", :force => true do |t| create_table "mongo_users", :force => true do |t|
t.string "mongo_id" t.string "mongo_id"
t.string "username" t.string "username"

View file

@ -61,6 +61,14 @@ OPTS
(aspect_mongo_id, post_mongo_id) (aspect_mongo_id, post_mongo_id)
SQL SQL
end end
def import_raw_requests
Mongo::Aspect.connection.execute <<-SQL
#{load_string("requests")}
#{infile_opts}
(mongo_id, recipient_mongo_id, sender_mongo_id, aspect_mongo_id)
SQL
end
end end
end end

View file

@ -118,6 +118,27 @@ describe DataConversion::ImportToMysql do
end end
end end
describe "requests" do
before do
copy_fixture_for("requests")
end
it "imports data into the mongo_requests table" do
Mongo::Request.count.should == 0
@migrator.import_raw_requests
Mongo::Request.count.should == 8
end
it "imports all the columns" do
@migrator.import_raw_requests
request = Mongo::Request.first
request.mongo_id.should == "4d091791cc8cb40f14000002"
request.recipient_mongo_id.should =="4d090bd1cc8cb4054e000297"
request.sender_mongo_id.should == "4d0916c1cc8cb40e93000003"
request.aspect_mongo_id.should == ''
end
end
describe "users" do describe "users" do
before do before do
copy_fixture_for("users") copy_fixture_for("users")