Full disclosure here: I'm a complete newbie to DataMapper, Postgres, 
Heroku, etc.  I tried searching multiple ways but I couldn't find any 
references to this particular issue.  

Anyway, I am working on a simple database integration that works fine with 
sqlite but when I try to convert the underlying database to Postgres and 
perform the auto_migrate!, I get an error.  As far as I can tell, I'm 
logging into the database service properly and the qrcodes database 
exists.  Thanks for any advice you can give!

Here is what I did for sqlite and then what I did for Postgres:

sqlite:


db_SQLite_test.rb:

 

require 'data_mapper'

 

DataMapper::Logger.new($stdout, :debug)

 

DataMapper.setup(:default, ENV['DATABASE_URL'] || 
"sqlite3://#{Dir.pwd}/qrtest.db")

 

class QRcode

  include DataMapper::Resource

  property :id,                Serial

end

DataMapper.finalize

 
irb console:

1.9.2-p320 :001 > require './db_sqlite_test.rb'

 => true

1.9.2-p320 :002 > QRcode.auto_migrate!

 ~ (0.000046) SELECT sqlite_version(*)

 ~ (0.113744) DROP TABLE IF EXISTS "q_rcodes"

 ~ (0.000030) PRAGMA table_info("q_rcodes")

 ~ (0.143735) CREATE TABLE "q_rcodes" ("id" INTEGER NOT NULL PRIMARY KEY 
AUTOINCREMENT)

 => true

 
Postgres:

db_test.rb:

require 'data_mapper'

 

DataMapper::Logger.new($stdout, :debug)

 

DataMapper.setup(:default, ENV['DATABASE_URL'] || 
"postgres://postgres:[email protected]/qrcodes")

 

class QRcode

  include DataMapper::Resource

  property :id,                Serial

end

DataMapper.finalize

irb Console:

1.9.2-p320 :001 > require './db_test.rb'

 => true

1.9.2-p320 :002 > QRcode.auto_migrate!

 ~ (0.000190) SET backslash_quote = off

 ~ (0.000123) SET standard_conforming_strings = on

 ~ (0.000118) SET client_min_messages = warning

 ~ (0.000318) SELECT version()

 ~ (0.000099) SET client_min_messages = warning

 ~ (0.000122) DROP TABLE IF EXISTS "q_rcodes"

 ~ (0.000077) RESET client_min_messages

 ~ (0.000109) SET client_min_messages = warning

 ~ (0.000144) SELECT current_schema()

 ~ no implicit conversion from nil to integer

 ~ (0.000105) RESET client_min_messages

TypeError: no implicit conversion from nil to integer

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/data_objects-0.10.10/lib/data_objects/quoting.rb:12:in
 
`quote_string'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/data_objects-0.10.10/lib/data_objects/quoting.rb:12:in
 
`quote_value'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/data_objects-0.10.10/lib/data_objects/command.rb:69:in
 
`block in escape_sql'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/data_objects-0.10.10/lib/data_objects/command.rb:62:in
 
`gsub!'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/data_objects-0.10.10/lib/data_objects/command.rb:62:in
 
`escape_sql'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:34:in
 
`execute_reader'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:34:in
 
`block in select'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:276:in
 
`with_connection'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:33:in
 
`select'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-do-adapter.rb:26:in
 
`storage_exists?'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-do-adapter.rb:90:in
 
`create_model_storage'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-postgres-adapter.rb:23:in
 
`block in create_model_storage'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-postgres-adapter.rb:58:in
 
`without_notices'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/adapters/dm-postgres-adapter.rb:23:in
 
`create_model_storage'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/auto_migration.rb:81:in
 
`create_model_storage'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/auto_migration.rb:177:in
 
`auto_migrate_up!'

        from 
/home/trichard/.rvm/gems/ruby-1.9.2-p320/gems/dm-migrations-1.2.0/lib/dm-migrations/auto_migration.rb:132:in
 
`auto_migrate!'

        from (irb):2

        from /home/trichard/.rvm/rubies/ruby-1.9.2-p320/bin/irb:16:in 
`<main>'1.9.2-p320 :003 >

 

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/datamapper/-/Av3vSVDmK10J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en.

Reply via email to