DataMapper - Простые ассоциации, DataObjects :: SyntaxError - есть идеи? - PullRequest
2 голосов
/ 06 сентября 2011

Я установил действительно простое отношение, используя DataMapper:

class A
  include DataMapper::Resource
  property :id, Serial
  has n, :b
end

class B
  include DataMapper::Resource
  property :id, Serial
  belongs_to :a
end

Я получаю эту ошибку:

dm-do-adapter.rb:70:in `execute_non_query': Cannot add a 
    NOT NULL column with default value NULL (DataObjects::SyntaxError)

Есть идеи? :)

1 Ответ

4 голосов
/ 07 сентября 2011

Вам нужно дать a_id (который является внешним ключом) при сохранении объекта класса B. если вы хотите сделать этот столбец NULL, то добавьте принадлежность__::

class B
  include DataMapper::Resource
  property :id, Serial
  belongs_to :a, :required => false
end

затем бросьте БД и восстановите его.

...