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.