Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while running on windows #183

Open
arthurvaverko-kaltura opened this issue Apr 11, 2020 · 5 comments
Open

Error while running on windows #183

arthurvaverko-kaltura opened this issue Apr 11, 2020 · 5 comments

Comments

@arthurvaverko-kaltura
Copy link

I'm trying to run mongify check database.config
and getting this:

Traceback (most recent call last):
        20: from C:/Ruby27-x64/bin/mongify:23:in `<main>'
        19: from C:/Ruby27-x64/bin/mongify:23:in `load'
        18: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mongify-1.3.2/bin/mongify:12:in `<top (required)>'
        17: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        16: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        15: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mongify-1.3.2/lib/mongify/cli.rb:1:in `<top (required)>'
        14: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        13: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        12: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/mongify-1.3.2/lib/mongify.rb:5:in `<top (required)>'
        11: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        10: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
         9: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/activesupport-4.2.11.1/lib/active_support/core_ext.rb:1:in `<top (required)>'
         8: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/activesupport-4.2.11.1/lib/active_support/core_ext.rb:1:in `each'
         7: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/activesupport-4.2.11.1/lib/active_support/core_ext.rb:2:in `block in <top (required)>'
         6: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
         5: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
         4: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object.rb:3:in `<top (required)>'
         3: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
         2: from C:/Ruby27-x64/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
         1: from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/duplicable.rb:106:in `<top (required)>'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/duplicable.rb:111:in `<class:BigDecimal>': undefined method `new' for BigDecimal:Class (NoMethodE
@anlek
Copy link
Owner

anlek commented Apr 13, 2020

Hello @arthurvaverko, this is because Rails 4.2 will not run on Ruby 2.7. Try downgrading your ruby version to 2.4.
More details...

Let me know if you still have issues

@arthurvaverko-kaltura
Copy link
Author

arthurvaverko-kaltura commented Apr 15, 2020

thansk .. im kinda new to ruby ..

so i moved to using a docker file ..
created this ...

FROM ruby:2.4
LABEL MAINTAINER="Arthur Vaverk <[email protected]>"

RUN gem install activerecord -v 4.2 && \
    gem install activesupport -v 4.2 && \
    gem install bson -v 1.10.2 && \
    gem install bson_ext -v 1.10.2 && \
    gem install highline -v 1.6.1 && \
    gem install mongo -v 1.10.2 && \
    gem install mysql2 -v 0.3.21  && \
    gem install mongify -v 1.3.0 && \
    gem install mongify-mongoid -v 1.0.4
    
RUN apt update && apt install wget && \
    apt install build-essential && \
    apt install libc6-dev
RUN gem install tiny_tds -v 0.7.0

RUN mkdir -p /mongify
WORKDIR /mongify
CMD ["mongify", "-h"]

and my database.config file is

sql_connection do
  adapter   "tiny_tds"
  host      "10.10.10.10"
  username  "sa"
  password  "password"
  database  "Users"
end

mongodb_connection do
  host      "localhost"
  database  "Users"
end

I'm trying to use tiny_tds to get data form MS Sql Server..

and i run the dockerfile like this

docker run --rm --network host -v c:\code\mongify:/mongify/ -it mongify mongify check database.config

and getting a new error

C:\code\mongify>docker run --rm --network host -v C:\Code\mongify:/mongify/ -it mongify mongify check database.config
/usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
/usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:124:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
         ... 4442 levels...
        from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/local/bundle/gems/mongify-1.3.0/bin/mongify:10:in `<top (required)>'
        from /usr/local/bundle/bin/mongify:23:in `load'
        from /usr/local/bundle/bin/mongify:23:in `<main>'

@anlek
Copy link
Owner

anlek commented Apr 15, 2020

Try rolling the Ruby version back a bit more. Maybe 2.2?

I'll run your docker setup when I get some time to check it out.

@arthurvaverko-kaltura
Copy link
Author

arthurvaverko-kaltura commented Apr 19, 2020

after rolling too 2.2 im getting this

root@docker-desktop:/mongify# mongify check database.config 
/usr/local/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:59:in `require': Could not load 'active_record/connection_adapters/tiny_tds_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile. (LoadError)
        from /usr/local/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency'
        from /usr/local/bundle/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
        from /usr/local/bundle/gems/activerecord-4.2.0/lib/active_record/connection_adapters/connection_specification.rb:175:in `spec'
        from /usr/local/bundle/gems/activerecord-4.2.0/lib/active_record/connection_handling.rb:50:in `establish_connection'
        from /usr/local/bundle/gems/mongify-1.3.0/lib/mongify/database/sql_connection.rb:40:in `setup_connection_adapter'
        from /usr/local/bundle/gems/mongify-1.3.0/lib/mongify/database/sql_connection.rb:56:in `has_connection?'
        from /usr/local/bundle/gems/mongify-1.3.0/lib/mongify/cli/command/worker.rb:95:in `check_sql_connection'
        from /usr/local/bundle/gems/mongify-1.3.0/lib/mongify/cli/command/worker.rb:64:in `execute'
        from /usr/local/bundle/gems/mongify-1.3.0/lib/mongify/cli/application.rb:28:in `execute!'
        from /usr/local/bundle/gems/mongify-1.3.0/bin/mongify:15:in `<top (required)>'
        from /usr/local/bundle/bin/mongify:23:in `load'
        from /usr/local/bundle/bin/mongify:23:in `<main>'

if tiny_tds is not supported any way to migrate from ms sql server to mongo using this tool ?

@anlek
Copy link
Owner

anlek commented Apr 20, 2020

Your error now is related to using tiny_tds.
I believe you have to install the following gems (inside your container):

gem install tiny_tds 
gem install activerecord-sqlserver-adapter

More details are available here: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants