Этот пример не подтверждает наличие заголовка для меня:
require 'rubygems'
require 'dm-core'
require 'dm-migrations'
require 'dm-validations'
db_name = 'rvtest.sqlite'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite://' + Dir.pwd + '/' + db_name)
class Task
include DataMapper::Resource
property :id, Serial
property :title, String
validates_presence_of :title
end
DataMapper.finalize
DataMapper.auto_upgrade!
Тем не менее, это делает:
require 'rubygems'
require 'dm-core'
require 'dm-migrations'
require 'dm-validations'
db_name = 'rvtest.sqlite'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite://' + Dir.pwd + '/' + db_name)
class Task
include DataMapper::Resource
property :id, Serial
property :title, String, :required => true
end
DataMapper.finalize
DataMapper.auto_upgrade!
Почему они работают по-другому? Если я зайду в irb, потребуется этот файл и введите Task.new.save!
, первый возвращает true
, а второй false
.