automigration 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -1,8 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
+ - 1.8.7
4
5
  env:
5
- - DB_USER=postgres
6
+ - DB_ADAPTER=postgresql DB_USER=postgres
6
7
  - DB_ADAPTER=sqlite3 DB_NAME=db/automigation
8
+ - DB_ADAPTER=mysql2
7
9
  script:
8
10
  - bundle exec rake db:prepare && bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Change Log
2
2
 
3
+ ## Automigration 1.1.1 (July 9, 2012)
4
+
5
+ * Supports 1.8.7
6
+ * MySQL support
7
+
3
8
  ## Automigration 1.1.0 (Juni 27, 2012)
4
9
 
5
10
  * Doesn't mark fields as accessible by default
@@ -23,8 +23,11 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.add_development_dependency 'pg'
25
25
  s.add_development_dependency 'sqlite3'
26
+ s.add_development_dependency 'mysql2', '0.3.11'
26
27
  s.add_development_dependency 'rspec-rails'
27
28
  s.add_development_dependency 'database_cleaner'
28
- s.add_development_dependency 'factory_girl_rails'
29
- s.add_development_dependency 'devise'
29
+
30
+ # these versions work with ruby 1.8.7
31
+ s.add_development_dependency 'factory_girl_rails', '1.4'
32
+ s.add_development_dependency 'factory_girl', '2.3.0'
30
33
  end
@@ -57,7 +57,7 @@ module Automigration
57
57
  if connection.table_exists?('schema_migrations') && !@@migration_paths.empty?
58
58
  sql = "SELECT version FROM schema_migrations;"
59
59
 
60
- migrations_in_db = connection.execute(sql).map{|row| row['version']}
60
+ migrations_in_db = connection.execute(sql).map{|row| row.is_a?(Hash) ? row['version'] : row.first }
61
61
  current_migrations = []
62
62
  @@migration_paths.each do |path|
63
63
  Dir[File.expand_path("*.rb", path)].each do |m_file|
@@ -1,3 +1,3 @@
1
1
  module Automigration
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  class AccessibleModel < ActiveRecord::Base
2
2
  has_fields do
3
- integer :first, :default => 0, accessible: true
3
+ integer :first, :default => 0, :accessible => true
4
4
  integer :second, :default => 0
5
5
  end
6
6
  end
@@ -2,8 +2,8 @@ class BelongsToModel < ActiveRecord::Base
2
2
  has_fields do |f|
3
3
  f.string :name
4
4
 
5
- f.belongs_to :simple, accessible: true
6
- f.belongs_to :some, :class_name => 'Simple', accessible: true
7
- f.belongs_to :parent, :class_name => 'BelongsToModel', accessible: true
5
+ f.belongs_to :simple, :accessible => true
6
+ f.belongs_to :some, :class_name => 'Simple', :accessible => true
7
+ f.belongs_to :parent, :class_name => 'BelongsToModel', :accessible => true
8
8
  end
9
9
  end
@@ -1,6 +1,6 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
- Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
3
+ Dummy::Application.config.session_store :cookie_store, :key => '_dummy_session'
4
4
 
5
5
  # Use the database for sessions instead of the cookie-based default,
6
6
  # which shouldn't be used to store highly confidential information
@@ -5,7 +5,7 @@
5
5
 
6
6
  # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
7
  ActiveSupport.on_load(:action_controller) do
8
- wrap_parameters format: [:json]
8
+ wrap_parameters :format => [:json]
9
9
  end
10
10
 
11
11
  # Disable root element in JSON by default.
@@ -69,24 +69,13 @@ describe 'automigration' do
69
69
  Automigration::Migrator.set_migration_paths([migrations_dir])
70
70
 
71
71
  count_sql = "SELECT count(*) AS count FROM schema_migrations"
72
- connection.execute(count_sql)[0]['count'].to_i.should == 3
72
+ out = connection.execute(count_sql).first
73
+ (out.is_a?(Hash) ? out['count'] : out.first).to_i.should == 3
73
74
  Automigration::Migrator.new(:skip_output => true).update_schema!
74
- connection.execute(count_sql)[0]['count'].to_i.should == 2
75
+ out = connection.execute(count_sql).first
76
+ (out.is_a?(Hash) ? out['count'] : out.first).to_i.should == 2
75
77
  end
76
78
 
77
- it 'update_column_for_model_not_change_type_dramatically' do
78
- connection.remove_column(AutoMigration1.table_name, 'string_field')
79
- connection.add_column(AutoMigration1.table_name, 'string_field', :integer)
80
- AutoMigration1.reset_column_information
81
-
82
- AutoMigration1.create!(:string_field => 123)
83
- AutoMigration1.first.string_field.should == 123
84
-
85
- Automigration::Migrator.new(:skip_output => true).update_schema!
86
-
87
- AutoMigration1.first.string_field.should == '123'
88
- end
89
-
90
79
  it 'create_columns_for_model' do
91
80
  AutoMigration1.new.attributes.keys.index("boolean_field").should_not be_nil
92
81
  AutoMigration1.new.attributes.keys.index("integer_field").should_not be_nil
data/spec/spec_helper.rb CHANGED
@@ -8,6 +8,8 @@ require 'database_cleaner'
8
8
  require 'factory_girl_rails'
9
9
 
10
10
  RSpec.configure do |config|
11
+ config.use_transactional_fixtures = false
12
+
11
13
  config.before(:suite) do
12
14
  DatabaseCleaner.strategy = :transaction
13
15
  end
metadata CHANGED
@@ -1,151 +1,165 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: automigration
3
- version: !ruby/object:Gem::Version
4
- version: 1.1.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 17
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 1
10
+ version: 1.1.1
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Alexey Vakhov
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-06-27 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rails
16
- requirement: !ruby/object:Gem::Requirement
17
+
18
+ date: 2012-07-09 00:00:00 +04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ requirement: &id001 !ruby/object:Gem::Requirement
17
23
  none: false
18
- requirements:
24
+ requirements:
19
25
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '3.1'
22
- type: :runtime
26
+ - !ruby/object:Gem::Version
27
+ hash: 5
28
+ segments:
29
+ - 3
30
+ - 1
31
+ version: "3.1"
23
32
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
33
+ name: rails
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ requirement: &id002 !ruby/object:Gem::Requirement
25
38
  none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '3.1'
30
- - !ruby/object:Gem::Dependency
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ prerelease: false
31
47
  name: ansi
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
48
  type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ requirement: &id003 !ruby/object:Gem::Requirement
41
52
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ prerelease: false
47
61
  name: pg
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
62
  type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ requirement: &id004 !ruby/object:Gem::Requirement
57
66
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ prerelease: false
63
75
  name: sqlite3
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
76
  type: :development
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - "="
83
+ - !ruby/object:Gem::Version
84
+ hash: 5
85
+ segments:
86
+ - 0
87
+ - 3
88
+ - 11
89
+ version: 0.3.11
71
90
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
91
+ name: mysql2
92
+ type: :development
93
+ version_requirements: *id005
94
+ - !ruby/object:Gem::Dependency
95
+ requirement: &id006 !ruby/object:Gem::Requirement
73
96
  none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ prerelease: false
79
105
  name: rspec-rails
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
106
  type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
107
+ version_requirements: *id006
108
+ - !ruby/object:Gem::Dependency
109
+ requirement: &id007 !ruby/object:Gem::Requirement
89
110
  none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ prerelease: false
95
119
  name: database_cleaner
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
120
  type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
121
+ version_requirements: *id007
122
+ - !ruby/object:Gem::Dependency
123
+ requirement: &id008 !ruby/object:Gem::Requirement
105
124
  none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
125
+ requirements:
126
+ - - "="
127
+ - !ruby/object:Gem::Version
128
+ hash: 7
129
+ segments:
130
+ - 1
131
+ - 4
132
+ version: "1.4"
133
+ prerelease: false
111
134
  name: factory_girl_rails
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
135
  type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: devise
128
- requirement: !ruby/object:Gem::Requirement
136
+ version_requirements: *id008
137
+ - !ruby/object:Gem::Dependency
138
+ requirement: &id009 !ruby/object:Gem::Requirement
129
139
  none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :development
140
+ requirements:
141
+ - - "="
142
+ - !ruby/object:Gem::Version
143
+ hash: 3
144
+ segments:
145
+ - 2
146
+ - 3
147
+ - 0
148
+ version: 2.3.0
135
149
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
150
+ name: factory_girl
151
+ type: :development
152
+ version_requirements: *id009
142
153
  description: Store your migrations direct in models
143
- email:
154
+ email:
144
155
  - vakhov@gmail.com
145
156
  executables: []
157
+
146
158
  extensions: []
159
+
147
160
  extra_rdoc_files: []
148
- files:
161
+
162
+ files:
149
163
  - .gitignore
150
164
  - .rspec
151
165
  - .travis.yml
@@ -220,34 +234,39 @@ files:
220
234
  - spec/lib/db_column_spec.rb
221
235
  - spec/lib/fields_spec.rb
222
236
  - spec/spec_helper.rb
223
- homepage: ''
237
+ has_rdoc: true
238
+ homepage: ""
224
239
  licenses: []
240
+
225
241
  post_install_message:
226
242
  rdoc_options: []
227
- require_paths:
243
+
244
+ require_paths:
228
245
  - lib
229
- required_ruby_version: !ruby/object:Gem::Requirement
246
+ required_ruby_version: !ruby/object:Gem::Requirement
230
247
  none: false
231
- requirements:
232
- - - ! '>='
233
- - !ruby/object:Gem::Version
234
- version: '0'
235
- segments:
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ hash: 3
252
+ segments:
236
253
  - 0
237
- hash: 302785729
238
- required_rubygems_version: !ruby/object:Gem::Requirement
254
+ version: "0"
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
239
256
  none: false
240
- requirements:
241
- - - ! '>='
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- segments:
257
+ requirements:
258
+ - - ">="
259
+ - !ruby/object:Gem::Version
260
+ hash: 3
261
+ segments:
245
262
  - 0
246
- hash: 302785729
263
+ version: "0"
247
264
  requirements: []
265
+
248
266
  rubyforge_project: automigration
249
- rubygems_version: 1.8.24
267
+ rubygems_version: 1.5.2
250
268
  signing_key:
251
269
  specification_version: 3
252
270
  summary: AR automigration
253
271
  test_files: []
272
+