· 8 years ago · Mar 12, 2018, 07:40 AM
1# versions used:
2# dm-core:
3# commit f33ade77050440dcdd590a1ca7ef8709f1e0898d
4# Author: Dirkjan Bussink <d.bussink@gmail.com>
5# Date: Wed Jun 10 16:36:53 2009 +0200
6#
7# dm-more:
8# commit 81116667834674db37c7874ee3a3576c7f989c2f
9# Author: Dan Kubb <dan.kubb@gmail.com>
10# Date: Wed Jun 10 10:12:04 2009 -0700
11#
12# [dm-ar-finders] Moved find_by_sql into Model namespace
13#
14# * Minor refactoring of method_missing logic
15
16
17
18require "rubygems"
19require "dm-core"
20require "dm-validations"
21require "spec"
22
23DataMapper::Logger.new(STDOUT, :debug)
24
25DataMapper.setup(:default, 'mysql://root:@localhost/test')
26
27class Project
28 include DataMapper::Resource
29 property :id, Serial
30 property :name, String
31
32 # validates_present :name
33end
34
35DataMapper.auto_migrate!
36
37p = Project.new(:name => "Oh yeah")
38p.save
39# =>
40# dubbook:snippets michael$ ruby save_bug.rb
41# ~ (0.000068) SET sql_auto_is_null = 0
42# ~ (0.000065) SET SESSION sql_mode = 'ANSI,NO_AUTO_VALUE_ON_ZERO,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_UNSIGNED_SUBTRACTION,TRADITIONAL'
43# ~ (0.001885) DROP TABLE IF EXISTS "projects"
44# ~ (0.000270) SHOW TABLES LIKE 'projects'
45# ~ (0.000336) SHOW VARIABLES LIKE 'character_set_connection'
46# ~ (0.000305) SHOW VARIABLES LIKE 'collation_connection'
47# ~ (0.087183) CREATE TABLE "projects" ("id" INTEGER NOT NULL AUTO_INCREMENT, "name" VARCHAR(50), PRIMARY KEY("id")) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
48# /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:64:in `save!': stack level too deep (SystemStackError)
49# from /Library/Ruby/Gems/1.8/gems/dm-core-0.10.0/lib/dm-core/resource.rb:356:in `save'
50# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:56:in `save'
51# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:64:in `save!'
52# from /Library/Ruby/Gems/1.8/gems/dm-core-0.10.0/lib/dm-core/resource.rb:356:in `save'
53# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:56:in `save'
54# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:64:in `save!'
55# from /Library/Ruby/Gems/1.8/gems/dm-core-0.10.0/lib/dm-core/resource.rb:356:in `save'
56# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:56:in `save'
57# ... 4458 levels...
58# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:64:in `save!'
59# from /Library/Ruby/Gems/1.8/gems/dm-core-0.10.0/lib/dm-core/resource.rb:356:in `save'
60# from /Library/Ruby/Gems/1.8/gems/dm-validations-0.10.0/lib/dm-validations.rb:56:in `save'
61# from save_bug.rb:21