среда, 10 августа 2011 г.

Вопрос по data_mapper

Доброго времени суток.
Не могу понять в чем ошибка, тот же самый на Linux-машине прекрасно
работает.
Ситуация следующая: Пытаюсь через data_mapper сделать
DataMapper.auto_upgrade!, в результате получаю следующее:

c:\Ruby\odp>ruby models.rb
DataObjects::URI.new with arguments is deprecated, use a Hash of URI
components
(C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/lib/dm-do-
adapter/adapt
er.rb:231:in `new')
C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/lib/dm-do-
adapter/adapte
r.rb:291:in `next!': negative string size (or size too big)
(ArgumentError)
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/
lib/dm-do-a
dapter/adapter.rb:291:in `select_fields'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/
lib/dm-do-a
dapter/adapter.rb:39:in `block in select'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/
lib/dm-do-a
dapter/adapter.rb:276:in `with_connection'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/
lib/dm-do-a
dapter/adapter.rb:33:in `select'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/adapters/dm-mysql-adapter.rb:99:in `show_variable'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/adapters/dm-mysql-adapter.rb:89:in `character_set'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/adapters/dm-mysql-adapter.rb:54:in `create_table_statement'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/adapters/dm-do-adapter.rb:94:in `block in create_model_storage'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/
lib/dm-do-a
dapter/adapter.rb:276:in `with_connection'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/adapters/dm-do-adapter.rb:93:in `create_model_storage'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/adapters/dm-do-adapter.rb:57:in `upgrade_model_storage'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/auto_migration.rb:71:in `upgrade_model_storage'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-migrations-1.1.0/
lib/dm-migr
ations/auto_migration.rb:143:in `auto_upgrade!'
from models.rb:86:in `<main>'


Теперь об среде: Win7 x32,
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]

*** LOCAL GEMS ***

addressable (2.2.6)
bcrypt-ruby (2.1.4 x86-mingw32)
data_mapper (1.1.0)
data_objects (0.10.6)
dm-aggregates (1.1.0)
dm-constraints (1.1.0)
dm-core (1.1.0)
dm-do-adapter (1.1.0)
dm-migrations (1.1.0)
dm-mysql-adapter (1.1.0)
dm-serializer (1.1.0)
dm-timestamps (1.1.0)
dm-transactions (1.1.0)
dm-types (1.1.0)
dm-validations (1.1.0)
do_mysql (0.10.6 x86-mingw32)
fastercsv (1.5.4)
json (1.4.6)
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)
ruby-ole (1.2.11.1)
spreadsheet (0.6.5.7)
stringex (1.2.2)
uuidtools (2.1.2)
zip (2.0.2)

models.rb

require 'rubygems'
require 'data_mapper'
require 'dm-migrations'
require "logger"
require "erb"
require "fileutils"
require "spreadsheet"

DataMapper.setup(:default, "mysql://localhost/odp")

DataMapper::Property::String.length(255)

class Game
include DataMapper::Resource

property :id, Serial
property :title, String
property :description, Text
property :external, String # External game id
property :file, String # Another id
property :price, String # Price
property :generate, Boolean, :default => false

has n, :games_genres
has n, :genres, :through => :games_genres

has n, :games_phones
has n, :phones, :through => :games_phones
end

class Genre
include DataMapper::Resource

property :id, Serial
property :title, String
property :code, String
property :icon, String

has n, :games_genres
has n, :games, :through => :games_genres
end

class Phone
include DataMapper::Resource

property :id, Serial
property :name, String
property :wurfl_id, String
property :user_agent, String

has n, :games_phones
has n, :games, :through => :games_phones
belongs_to :vendor
end

class Vendor
include DataMapper::Resource

property :id, Serial
property :name, String

has n, :phones
end

class GamesGenre
include DataMapper::Resource

property :id, Serial

belongs_to :game
belongs_to :genre
end

class GamesPhone
include DataMapper::Resource

property :id, Serial

belongs_to :game
belongs_to :phone
end

DataMapper.auto_upgrade!

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий