anlek / mongify

Mongify allows you to map your data from a sql database and into a mongodb document database.
http://github.com/anlek/mongify
MIT License
317 stars 82 forks source link

Mongify Process Error #113

Open 06nenglish opened 7 years ago

06nenglish commented 7 years ago

When running the mongify process database.config translation.rb I reccieve the following error:

Nathans-MBP:Proxama Nathan$ mongify process database.config translation.rb /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/column.rb:240:in type_cast': undefined methodtype_cast_from_database' for #ActiveModel::Type::Decimal:0x007fd12ba78d58 (NoMethodError) from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/column.rb:128:in translate' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/table.rb:133:inblock in translate' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/table.rb:131:in each' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/table.rb:131:intranslate' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/translation/process.rb:33:in block (3 levels) in copy_data' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/activerecord-5.0.0.1/lib/active_record/result.rb:52:inblock in each' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/activerecord-5.0.0.1/lib/active_record/result.rb:52:in each' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/activerecord-5.0.0.1/lib/active_record/result.rb:52:ineach' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/translation/process.rb:32:in block (2 levels) in copy_data' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/sql_connection.rb:86:inblock in select_rows' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/activesupport-5.0.0.1/lib/active_support/core_ext/range/each.rb:5:in each' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/activesupport-5.0.0.1/lib/active_support/core_ext/range/each.rb:5:ineach' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/database/sql_connection.rb:84:in select_rows' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/translation/process.rb:29:inblock in copy_data' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/translation/process.rb:28:in each' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/translation/process.rb:28:incopy_data' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/translation/process.rb:14:in process' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/cli/command/worker.rb:68:inexecute' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/lib/mongify/cli/application.rb:28:in execute!' from /Users/Nathan/.rvm/gems/ruby-2.2.4/gems/mongify-1.3.0/bin/mongify:15:in<top (required)>' from /Users/Nathan/.rvm/gems/ruby-2.2.4/bin/mongify:23:in load' from /Users/Nathan/.rvm/gems/ruby-2.2.4/bin/mongify:23:in

' from /Users/Nathan/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in eval' from /Users/Nathan/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in
'

Here is a copy of the translation file:

table "BEACON_LOOKUP" do
    column "SERIAL_NUMBER", :integer
    column "UUID", :string
    column "MAJOR", :integer
    column "MINOR", :integer
    column "TX_POWER", :integer
    column "DWELL", :string
    column "FOOTFALL", :string
    column "ADVERTISING_INTERVAL", :integer
    column "SUPPLIER_BATCH", :string
    column "DEPLOYMENT_DATE", :date
    column "MEDIA_TYPE", :string
    column "MEDIA_OWNER", :string
    column "MEDIA_ENVIRONMENT", :string
    column "LANDLORD", :string
    column "MEDIA_LOCATION", :string
    column "MEDIA_CHARACTERISTICS", :integer
    column "LATITUDE", :decimal
    column "LONGITUDE", :decimal
    column "STREET", :integer
    column "TOWN", :string
    column "CITY", :string
    column "COUNTY", :integer
    column "POSTCODE", :string
    column "VEHICLE_INDETIFIER", :string
    column "NOTE", :string
end

table "DIM_APPLICATION" do
    column "ID", :key, :as => :integer
    column "NAME", :string
    column "DESCRIPTION", :string
end

table "DIM_APP_EVENT" do
    column "NAME", :integer
    column "DESCRIPTION", :string
end

table "DIM_HANDSET" do
    column "ID", :key, :as => :integer
    column "MANUFACTURER", :string
    column "NAME", :string
    column "OS", :string
    column "OS_VERSION", :string
    column "MODEL", :string
end

table "DIM_HOUR_OF_DAY" do
    column "ID", :key, :as => :integer
    column "HOUR_OF_DAY", :string
end

table "DIM_ITEM" do
    column "ID", :key, :as => :integer
    column "NAME", :string
    column "BEHAVIOUR_TYPE", :string
    column "EXTERNAL_REFERENCE", :string
    column "START_DATE", :date
    column "END_DATE", :date
    column "VISIBLE", :string
end

table "DIM_ITEM_EVENTS" do
    column "ID", :key, :as => :integer
    column "NAME", :string
end

table "DIM_MEDIA_EVENTS" do
    column "ID", :key, :as => :integer
    column "NAME", :string
end

table "DIM_MERCHANT" do
    column "ID", :key, :as => :integer
    column "NAME", :string
    column "DELETED", :string
end

table "DIM_NOTIFICATION" do
    column "ID", :key, :as => :integer
    column "NAME", :string
    column "TYPE", :string
end

table "DIM_TRIGGER" do
    column "ID", :key, :as => :integer
    column "UUID", :string
    column "TRIGGER_TYPE", :string
    column "TRIGGER_ON", :string
    column "TRIGGER_RANGE", :string
    column "MAJOR", :integer
    column "MINOR", :integer
    column "LATITUDE", :decimal
    column "LONGITUDE", :decimal
    column "TOUCHPOINT_NAME", :string
    column "CAMPAIGN_NAME", :string
end

table "MEASURE_APP_INTERACTION" do
    column "EVENT_ID", :string, :references => "events"
    column "EVENT_DATE", :date
    column "SESSION_ID", :string, :references => "sessions"
    column "EVENT_TIMESTAMP", :datetime
    column "HOUR_OF_DAY_ID", :integer, :references => "hour_of_days"
    column "CONSUMER_ID", :string, :references => "consumers"
    column "HANDSET_ID", :integer, :references => "handsets"
    column "MERCHANT_ID", :integer, :references => "merchants"
    column "APPLICATION_ID", :integer, :references => "applications"
    column "APP_EVENT_ID", :integer, :references => "app_events"
    column "NOTIFICATION_ID", :integer, :references => "notifications"
    column "LATITUDE", :decimal
    column "LONGITUDE", :decimal
    column "ITEM_ID", :integer, :references => "items"
    column "INVOICE_ID", :integer, :references => "invoices"
    column "CREDIT_ID", :integer, :references => "credits"
    column "REPORTING_VERSION", :string
    column "WIFI", :string
    column "BLUETOOTH", :string
    column "CELLULAR", :string
    column "NFC", :string
    column "ACTIVE_NETWORK", :string
    column "LOCATION_SERVICES", :string
    column "SCREEN_HEIGHT", :integer
    column "SCREEN_WIDTH", :integer
    column "LIBRARY_VERSION", :string
    column "EXT_USER_REF", :string
    column "EXT_EVENT_REF", :string
    column "CARRIER", :string
    column "SEGMENT_TIMESTAMP", :datetime
end

table "MEASURE_ITEM_INTERACTION" do
    column "EVENT_ID", :string, :references => "events"
    column "EVENT_DATE", :date
    column "SESSION_ID", :string, :references => "sessions"
    column "EVENT_TIMESTAMP", :datetime
    column "HOUR_OF_DAY_ID", :integer, :references => "hour_of_days"
    column "CONSUMER_ID", :string, :references => "consumers"
    column "HANDSET_ID", :integer, :references => "handsets"
    column "MERCHANT_ID", :integer, :references => "merchants"
    column "APPLICATION_ID", :integer, :references => "applications"
    column "APP_EVENT_ID", :integer, :references => "app_events"
    column "ITEM_ID", :integer, :references => "items"
    column "LATITUDE", :decimal
    column "LONGITUDE", :decimal
    column "REPORTING_VERSION", :string
    column "WIFI", :string
    column "BLUETOOTH", :string
    column "CELLULAR", :string
    column "NFC", :string
    column "ACTIVE_NETWORK", :string
    column "LOCATION_SERVICES", :string
    column "SCREEN_HEIGHT", :integer
    column "SCREEN_WIDTH", :integer
    column "LIBRARY_VERSION", :string
    column "EXT_USER_REF", :string
    column "EXT_EVENT_REF", :string
    column "CARRIER", :string
    column "SEGMENT_TIMESTAMP", :datetime
end

table "MEASURE_MEDIA_INTERACTION" do
    column "EVENT_ID", :string, :references => "events"
    column "EVENT_DATE", :date
    column "SESSION_ID", :string, :references => "sessions"
    column "EVENT_TIMESTAMP", :datetime
    column "HOUR_OF_DAY_ID", :integer, :references => "hour_of_days"
    column "CONSUMER_ID", :string, :references => "consumers"
    column "HANDSET_ID", :integer, :references => "handsets"
    column "MERCHANT_ID", :integer, :references => "merchants"
    column "APPLICATION_ID", :integer, :references => "applications"
    column "TRIGGER_ID", :integer, :references => "triggers"
    column "MEDIA_EVENT_ID", :integer, :references => "media_events"
    column "LATITUDE", :decimal
    column "LONGITUDE", :decimal
    column "INVOICE_ID", :integer, :references => "invoices"
    column "CREATE_ID", :integer, :references => "creates"
    column "REPORTING_VERSION", :string
    column "WIFI", :string
    column "BLUETOOTH", :string
    column "CELLULAR", :string
    column "NFC", :string
    column "ACTIVE_NETWORK", :string
    column "LOCATION_SERVICES", :string
    column "SCREEN_HEIGHT", :integer
    column "SCREEN_WIDTH", :integer
    column "LIBRARY_VERSION", :string
    column "EXT_USER_REF", :string
    column "EXT_EVENT_REF", :string
    column "CARRIER", :string
    column "SEGMENT_TIMESTAMP", :datetime
end
anlek commented 7 years ago

Hey, Sorry to hear you're having an issue with Mongify. Can you please do gem list and post your list here?

Thanks, Andrew