automigration 1.1.0 → 1.1.1

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/.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
+