active_record_inline_schema 0.5.6 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +6 -0
- data/Gemfile +5 -5
- data/lib/active_record_inline_schema/config.rb +1 -1
- data/lib/active_record_inline_schema/version.rb +1 -1
- data/spec/models.rb +16 -0
- data/spec/shared_examples.rb +34 -13
- data/spec/spec_helper.rb +3 -3
- metadata +2 -2
data/CHANGELOG
CHANGED
data/Gemfile
CHANGED
@@ -7,11 +7,11 @@ gem 'minitest'
|
|
7
7
|
gem 'minitest-reporters'
|
8
8
|
|
9
9
|
platforms :ruby do
|
10
|
-
if RUBY_VERSION >= '1.9'
|
11
|
-
|
12
|
-
else
|
13
|
-
|
14
|
-
end
|
10
|
+
# if RUBY_VERSION >= '1.9'
|
11
|
+
# gem 'debugger'
|
12
|
+
# else
|
13
|
+
# gem 'ruby-debug19'
|
14
|
+
# end
|
15
15
|
# gem 'mysql2', '~>0.2'
|
16
16
|
gem 'mysql2', '>=0.3'
|
17
17
|
gem 'sqlite3'
|
@@ -62,7 +62,7 @@ class ActiveRecordInlineSchema::Config
|
|
62
62
|
elsif mysql?
|
63
63
|
if non_standard_primary_key
|
64
64
|
k = connection.quote_column_name(model.primary_key)
|
65
|
-
create_sql.sub! /#{k}
|
65
|
+
create_sql.sub! /#{k}([^\)]+)\)([^\),]*)/, "#{k}\\1) PRIMARY KEY"
|
66
66
|
end
|
67
67
|
connection.execute create_sql
|
68
68
|
end
|
data/spec/models.rb
CHANGED
@@ -87,6 +87,22 @@ class Pet2 < ActiveRecord::Base
|
|
87
87
|
col :name
|
88
88
|
end
|
89
89
|
|
90
|
+
class Pet3 < ActiveRecord::Base
|
91
|
+
include SpecHelper
|
92
|
+
end
|
93
|
+
|
94
|
+
class Pet4 < ActiveRecord::Base
|
95
|
+
include SpecHelper
|
96
|
+
self.primary_key = "name"
|
97
|
+
col :name
|
98
|
+
end
|
99
|
+
|
100
|
+
class Pet5 < ActiveRecord::Base
|
101
|
+
include SpecHelper
|
102
|
+
self.primary_key = "id"
|
103
|
+
col :id, :type => :integer
|
104
|
+
end
|
105
|
+
|
90
106
|
case ENV['DB_ADAPTER']
|
91
107
|
when 'mysql'
|
92
108
|
class CustomMysql < ActiveRecord::Base
|
data/spec/shared_examples.rb
CHANGED
@@ -5,20 +5,41 @@ describe ActiveRecordInlineSchema do
|
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
end
|
15
|
-
lambda do
|
16
|
-
2.times do
|
17
|
-
p = Pet2.new
|
18
|
-
p.id = 1
|
19
|
-
p.save!
|
8
|
+
describe :regressions do
|
9
|
+
def assert_unique(model, column_name, v)
|
10
|
+
e = if sqlite?
|
11
|
+
ActiveRecord::StatementInvalid
|
12
|
+
else
|
13
|
+
ActiveRecord::RecordNotUnique
|
20
14
|
end
|
21
|
-
|
15
|
+
lambda do
|
16
|
+
2.times do
|
17
|
+
p = model.new
|
18
|
+
p.send "#{column_name}=", v
|
19
|
+
p.save!
|
20
|
+
end
|
21
|
+
end.must_raise(e)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "properly creates tables with only one column, an auto-increment primary key" do
|
25
|
+
Pet3.auto_upgrade!
|
26
|
+
assert_unique Pet3, :id, 1
|
27
|
+
end
|
28
|
+
|
29
|
+
it "properly creates with only one column, a string primary key" do
|
30
|
+
Pet4.auto_upgrade!
|
31
|
+
assert_unique Pet4, :name, 'Jerry'
|
32
|
+
end
|
33
|
+
|
34
|
+
it "properly creates with only one column, a non-auto-increment integer primary key" do
|
35
|
+
Pet5.auto_upgrade!
|
36
|
+
assert_unique Pet5, :id, 1
|
37
|
+
end
|
38
|
+
|
39
|
+
it "properly registers non-incrementing integer primary keys" do
|
40
|
+
Pet2.auto_upgrade!
|
41
|
+
assert_unique Pet2, :id, 1
|
42
|
+
end
|
22
43
|
end
|
23
44
|
|
24
45
|
it 'has #key,col,property,attribute inside model' do
|
data/spec/spec_helper.rb
CHANGED
@@ -15,9 +15,9 @@ MiniTest::Unit.runner.reporters << MiniTest::Reporters::SpecReporter.new
|
|
15
15
|
|
16
16
|
require 'active_record_inline_schema'
|
17
17
|
|
18
|
-
require 'logger'
|
19
|
-
ActiveRecord::Base.logger = Logger.new($stderr)
|
20
|
-
ActiveRecord::Base.logger.level = Logger::
|
18
|
+
# require 'logger'
|
19
|
+
# ActiveRecord::Base.logger = Logger.new($stderr)
|
20
|
+
# ActiveRecord::Base.logger.level = Logger::DEBUG
|
21
21
|
|
22
22
|
module SpecHelper
|
23
23
|
def self.included(base)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record_inline_schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-06-
|
13
|
+
date: 2012-06-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|