NameError: uninitialized constant WorldDb::Model::Region

63 views
Skip to first unread message

Ram Thakur

unread,
Oct 7, 2016, 11:10:30 AM10/7/16
to beerdb

I'm try to run the rake db:create or rake db:migrate command I'm getting the following error .


Ruby Version is : 2.3.0
Rails Version is : 5.0.0.1
Bundler version is : 1.13.2


Can you suggest how do i get fix this error to get the beer.db and world.db ?

Error:---- 


activerecord-utils/0.4.0 (activerecord/5.0.0) on Ruby 2.3.0 (2015-12-25) [x86_64-linux]
 
[TagDb.has_many_tags] adding taggings n tags has_many assocs to model >WorldDb::Model::Country<
 
[TagDb.has_many_tags] adding taggings n tags has_many assocs to model >WorldDb::Model::StateBase<
 
[TagDb.has_many_tags] adding taggings n tags has_many assocs to model >WorldDb::Model::CityBase<
rake aborted
!
NameError: uninitialized constant WorldDb::Model::Region
/home/acer/.rvm/gems/ruby-2.3.0/gems/beerdb-models-1.0.1/lib/beerdb/models/forward.rb:15:in `<module:Model>'
/home/acer/.rvm/gems/ruby-2.3.0/gems/beerdb-models-1.0.1/lib/beerdb/models/forward.rb:9:in `
<module:BeerDb>'
/home/acer/.rvm/gems/ruby-2.3.0/gems/beerdb-models-1.0.1/lib/beerdb/models/forward.rb:8:in `<top (required)>'

/home/acer/.rvm/gems/ruby-2.3.0/gems/beerdb-models-1.0.1/lib/beerdb/models.rb:11:in `<top (required)>'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:105:in `
require'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:105:in `rescue in block in require'

/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:82:in `block in require'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:75:in `
each'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:75:in `require'

/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler.rb:106:in `require'
/var/www/html/railsTestTask/beerProject/config/application.rb:7:in `
<top (required)>'
/var/www/html/railsTestTask/beerProject/Rakefile:4:in `require_relative'

/var/www/html/railsTestTask/beerProject/Rakefile:4:in `<top (required)>'
/home/acer/.rvm/gems/ruby-2.3.0/gems/rake-11.3.0/exe/rake:27:in `
<top (required)>'
/home/acer/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'

/home/acer/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'
LoadError: cannot load such file -- beerdb-models
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:91:in `
require'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:91:in `block (2 levels) in require'

/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:86:in `each'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:86:in `
block in require'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:75:in `each'

/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler/runtime.rb:75:in `require'
/home/acer/.rvm/gems/ruby-2.3.0/gems/bundler-1.13.2/lib/bundler.rb:106:in `
require'
/var/www/html/railsTestTask/beerProject/config/application.rb:7:in `<top (required)>'

/var/www/html/railsTestTask/beerProject/Rakefile:4:in `require_relative'
/var/www/html/railsTestTask/beerProject/Rakefile:4:in `
<top (required)>'
/home/acer/.rvm/gems/ruby-2.3.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'

/home/acer/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
/home/acer/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)



Screenshot from 2016-10-06 12:11:26.png

Gerald Bauer

unread,
Oct 7, 2016, 11:13:14 AM10/7/16
to bee...@googlegroups.com
Hello,
Thanks for trying beer.db (and world.db).

> Can you suggest how do i get fix this error to get the beer.db and world.db ?

You have two options:

1) In your Gemfile downgrade the worlddb-models to an older version
(region changed to state).

2) Wait for the next beerdb update (some weeks off - sorry) for a fix.

Cheers.
Message has been deleted

Ram Thakur

unread,
Oct 14, 2016, 8:06:37 AM10/14/16
to beerdb
Thanks for your reply.

I just downgrade the world.db model version to 2.2.0 and everything starts working . Now I'm trying to create database with the following command i.e
beerdb setup --include ./at-austria --worldinclude ./world.db

and gettting the following error i.e

acer@acer-veriton:/var/www/html/railsTestTask/openmundi$ beerdb setup --include ./at-austria --worldinclude ./world.db
activerecord-utils/0.4.0 (activerecord/5.0.0) on Ruby 2.3.0 (2015-12-25) [x86_64-linux]
  [TagDb.has_many_tags] adding taggings n tags has_many assocs to model >WorldDb::Model::Country<
  [TagDb.has_many_tags] adding taggings n tags has_many assocs to model >WorldDb::Model::Region<
  [TagDb.has_many_tags] adding taggings n tags has_many assocs to model >WorldDb::Model::City<
beerdb/0.10.1 on Ruby 2.3.0 (2015-12-25) [x86_64-linux]
beerdb-models/1.0.1 on Ruby 2.3.0 (2015-12-25) [x86_64-linux]
working directory: /var/www/html/railsTestTask/openmundi
Connecting to db using settings: 
{:adapter=>"sqlite3", :database=>"./beer.db"}
-- create_table(:logs)
   -> 0.0929s
-- create_table(:props, {})
   -> 0.0781s
-- create_table(:tags)
   -> 0.1821s
-- add_index(:tags, :key, {:unique=>true})
   -> 0.0781s
-- create_table(:taggings)
   -> 0.2342s
-- add_index(:taggings, :tag_id)

*** error: Index name 'index_taggings_on_tag_id' on table 'taggings' already exists

and also can you tell show can I change default `sqlite` database `adapter` to `postgresql` . Currently I'm working with the postgres sql .

Any kind of help is appreciated . Thanks!!!!  

On Friday, October 14, 2016 at 5:31:38 PM UTC+5:30, Ram Thakur wrote:

Gerald Bauer

unread,
Oct 14, 2016, 8:50:27 AM10/14/16
to bee...@googlegroups.com
Hello,
thanks for trying beer.db.

> *** error: Index name 'index_taggings_on_tag_id' on table 'taggings' already exists

Sorry. That is a known error with ActiveRecord / Rails 5. The
workaround again is to downgrade e.g.

Use ActiveRecord in the 4.2.x series. The latest and greatest v5.x
series will NOT yet work (e.g. auto-creates indices that get now
created "by hand", thus, the error on duplicate index.

Cheers.
Reply all
Reply to author
Forward
0 new messages