migrant 1.4.1 → 1.4.3
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/.gitignore +1 -0
- data/.travis.yml +2 -2
- data/README.rdoc +7 -4
- data/VERSION +1 -1
- data/changelog.md +24 -0
- data/lib/dsl/data_types/primitives.rb +10 -2
- data/lib/generators/templates/model.rb +2 -0
- data/lib/migrant/migration_generator.rb +25 -20
- data/migrant.gemspec +2 -2
- data/test/rails_app/app/models/business.rb +1 -0
- data/test/test_data_schema.rb +2 -1
- data/test/test_migration_generator.rb +30 -22
- data/test/verified_output/migrations/businesses_indexed_name.rb +8 -0
- data/test/verified_output/migrations/create_businesses.rb +1 -0
- metadata +123 -209
- checksums.yaml +0 -15
- checksums.yaml.gz.asc +0 -11
- data.tar.gz.asc +0 -11
- metadata.gz.asc +0 -11
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.rdoc
CHANGED
@@ -15,10 +15,6 @@ In your Gemfile:
|
|
15
15
|
|
16
16
|
gem "migrant"
|
17
17
|
|
18
|
-
* Rails: 3.0+ (Sorry folks, no plans for Rails 2 support)
|
19
|
-
* Ruby: 1.9, Rbx, JRuby Supported, 1.8 works but unsupported (See Travis CI)
|
20
|
-
* Adapters: Tested with SQLite3, MySQL2, Pg. May work with other ActiveRecord adapters
|
21
|
-
|
22
18
|
== Jumping right in
|
23
19
|
|
24
20
|
Start by creating some models with the structure you need:
|
@@ -125,6 +121,13 @@ Simply run rake db:upgrade or rails generate migrations to get the required migr
|
|
125
121
|
* Changing column types
|
126
122
|
* Rollbacks for all the above
|
127
123
|
|
124
|
+
== Compatibility
|
125
|
+
|
126
|
+
* Officially supported: Ruby 1.9.3, 2.0.0, rbx-head
|
127
|
+
* Unofficially supported: Ruby 1.8.7, 1.9.2
|
128
|
+
* Rails 3.0 (all versions)
|
129
|
+
* Rails 4.0 (only from v1.4.3 onwards)
|
130
|
+
|
128
131
|
== Getting a mock of your model
|
129
132
|
|
130
133
|
> rails console
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.3
|
data/changelog.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
### 1.4.3
|
2
|
+
|
3
|
+
[full changelog](http://github.com/pascalh1011/migrant/compare/v1.4.0...v1.4.3)
|
4
|
+
|
5
|
+
* Bug Fixes
|
6
|
+
* Name migrations correctly that only add one index
|
7
|
+
* Now compatible with Rails 4.0
|
8
|
+
|
9
|
+
### 1.4.2
|
10
|
+
|
11
|
+
* Bug Fixes
|
12
|
+
* Generate date fields by default when Date class is given to structure block
|
13
|
+
|
14
|
+
* Misc
|
15
|
+
* Added timestamps to migrant:model generator by default
|
16
|
+
|
17
|
+
### 1.4.1 / 2013-03-16
|
18
|
+
|
19
|
+
[full changelog](http://github.com/pascalh1011/migrant/compare/v1.4.0...v1.4.1)
|
20
|
+
|
21
|
+
* Bug Fixes
|
22
|
+
* Fix term-ansicolor not being detected as a dependency in some bundler versions
|
23
|
+
* Signed with RubyGems OpenPGP (experimental)
|
24
|
+
|
1
25
|
### 1.4.0 / 2013-02-03
|
2
26
|
|
3
27
|
[full changelog](http://github.com/pascalh1011/migrant/compare/v1.3.2...v1.4.0)
|
@@ -22,6 +22,16 @@ module DataType
|
|
22
22
|
|
23
23
|
# Datetime
|
24
24
|
class Date < Base
|
25
|
+
def column_defaults
|
26
|
+
{:type => :date}
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.default_mock
|
30
|
+
::Date.today
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class Time < Date
|
25
35
|
def column_defaults
|
26
36
|
{:type => :datetime}
|
27
37
|
end
|
@@ -30,8 +40,6 @@ module DataType
|
|
30
40
|
::Time.now
|
31
41
|
end
|
32
42
|
end
|
33
|
-
|
34
|
-
class Time < Date; end; # No different to date type
|
35
43
|
|
36
44
|
# Integers
|
37
45
|
class Fixnum < Base
|
@@ -7,8 +7,8 @@ module Migrant
|
|
7
7
|
# Ensure db/migrate path exists before starting
|
8
8
|
FileUtils.mkdir_p(Rails.root.join('db', 'migrate'))
|
9
9
|
@possible_irreversible_migrations = false
|
10
|
-
|
11
|
-
migrator = ActiveRecord::Migrator.
|
10
|
+
|
11
|
+
migrator = ActiveRecord::Migrator.open(migrations_path)
|
12
12
|
|
13
13
|
unless migrator.pending_migrations.blank?
|
14
14
|
log "You have some pending database migrations. You can either:\n1. Run them with rake db:migrate\n2. Delete them, in which case this task will probably recreate their actions (DON'T do this if they've been in SCM).", :error
|
@@ -19,7 +19,7 @@ module Migrant
|
|
19
19
|
# The next line is an evil hack to recursively load all model files in app/models
|
20
20
|
# This needs to be done because Rails normally lazy-loads these files, resulting a blank descendants list of AR::Base
|
21
21
|
model_root = "#{Rails.root.to_s}/app/models/"
|
22
|
-
|
22
|
+
|
23
23
|
Dir["#{model_root}**/*.rb"].each do |file|
|
24
24
|
if (model_name = file.sub(model_root, '').match(/(.*)?\.rb$/))
|
25
25
|
model_name[1].camelize.constantize
|
@@ -32,13 +32,13 @@ module Migrant
|
|
32
32
|
ActiveRecord::Base.descendants.select { |model| model.structure_defined? && model.schema.requires_migration? }.each do |model|
|
33
33
|
model.reset_column_information # db:migrate doesn't do this
|
34
34
|
@table_name = model.table_name
|
35
|
-
@columns = Hash[[:changed, :added, :deleted, :renamed, :transferred].collect { |a| [a,[]] }]
|
35
|
+
@columns = Hash[[:changed, :added, :deleted, :renamed, :transferred].collect { |a| [a,[]] }]
|
36
36
|
|
37
37
|
if model.table_exists?
|
38
38
|
# Structure ActiveRecord::Base's column information so we can compare it directly to the schema
|
39
39
|
db_schema = Hash[*model.columns.collect {|c| [c.name.to_sym, Hash[*[:type, :limit, :default].map { |type| [type, c.send(type)] }.flatten] ] }.flatten]
|
40
40
|
model.schema.columns.to_a.sort { |a,b| a.to_s <=> b.to_s }.each do |field_name, data_type|
|
41
|
-
if data_type.dangerous_migration_from?(db_schema[field_name]) &&
|
41
|
+
if data_type.dangerous_migration_from?(db_schema[field_name]) &&
|
42
42
|
ask_user("#{model}: '#{field_name}': Converting from ActiveRecord type #{db_schema[field_name][:type]} to #{data_type.column[:type]} could cause data loss. Continue?", %W{Yes No}, true) == "No"
|
43
43
|
log "Aborting dangerous action on #{field_name}."
|
44
44
|
elsif (options = data_type.structure_changes_from(db_schema[field_name]))
|
@@ -49,7 +49,7 @@ module Migrant
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
# Removed rows
|
54
54
|
unless model.schema.partial?
|
55
55
|
db_schema.reject { |field_name, options| field_name.to_s == model.primary_key || model.schema.columns.keys.include?(field_name) }.each do |removed_field_name, options|
|
@@ -68,7 +68,7 @@ module Migrant
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
71
|
-
end
|
71
|
+
end
|
72
72
|
end
|
73
73
|
destroyed_columns = @columns[:deleted].reject { |field, options| @columns[:transferred].collect(&:first).include?(field) }
|
74
74
|
unless destroyed_columns.blank?
|
@@ -81,7 +81,12 @@ module Migrant
|
|
81
81
|
# For adapters that can report indexes, add as necessary
|
82
82
|
if ActiveRecord::Base.connection.respond_to?(:indexes)
|
83
83
|
current_indexes = ActiveRecord::Base.connection.indexes(model.table_name).collect { |index| (index.columns.length == 1)? index.columns.first.to_sym : index.columns.collect(&:to_sym) }
|
84
|
-
@indexes = model.schema.indexes.uniq.reject { |index| current_indexes.include?(index) }.collect
|
84
|
+
@indexes = model.schema.indexes.uniq.reject { |index| current_indexes.include?(index) }.collect do |field_name|
|
85
|
+
description = (field_name.respond_to?(:join))? field_name.join('_') : field_name.to_s
|
86
|
+
|
87
|
+
[field_name, description]
|
88
|
+
end
|
89
|
+
|
85
90
|
# Don't spam the user with indexes that columns are being created with
|
86
91
|
@new_indexes = @indexes.reject { |index, options| @columns[:changed].detect { |c| c.first == index } || @columns[:added].detect { |c| c.first == index } }
|
87
92
|
end
|
@@ -89,10 +94,10 @@ module Migrant
|
|
89
94
|
next if @columns[:changed].empty? && @columns[:added].empty? && @columns[:renamed].empty? && @columns[:transferred].empty? && @columns[:deleted].empty? && @indexes.empty? # Nothing to do for this table
|
90
95
|
|
91
96
|
# Example: changed_table_added_something_and_modified_something
|
92
|
-
@activity = 'changed_'+model.table_name+[['added', @columns[:added]], ['modified', @columns[:changed]], ['deleted', destroyed_columns],
|
97
|
+
@activity = 'changed_'+model.table_name+[['added', @columns[:added]], ['modified', @columns[:changed]], ['deleted', destroyed_columns],
|
93
98
|
['moved', @columns[:transferred]], ['renamed', @columns[:renamed]], ['indexed', @new_indexes]].reject { |v| v[1].empty? }.collect { |v| "_#{v[0]}_"+v[1].collect(&:last).join('_') }.join('_and')
|
94
99
|
@activity = @activity.split('_')[0..2].join('_')+'_with_multiple_changes' if @activity.length >= 240 # Most filesystems will raise Errno::ENAMETOOLONG otherwise
|
95
|
-
|
100
|
+
|
96
101
|
render('change_migration')
|
97
102
|
else
|
98
103
|
@activity = "create_#{model.table_name}"
|
@@ -101,16 +106,16 @@ module Migrant
|
|
101
106
|
|
102
107
|
render("create_migration")
|
103
108
|
end
|
104
|
-
|
109
|
+
|
105
110
|
filename = "#{migrations_path}/#{next_migration_number}_#{@activity}.rb"
|
106
111
|
File.open(filename, 'w') { |migration| migration.write(@output) }
|
107
112
|
log "Wrote #{filename}..."
|
108
113
|
end
|
109
|
-
|
114
|
+
|
110
115
|
if @possible_irreversible_migrations
|
111
116
|
log "*** One or more move operations were performed, which potentially could cause data loss on db:rollback. \n*** Please review your migrations before committing!", :warning
|
112
117
|
end
|
113
|
-
|
118
|
+
|
114
119
|
true
|
115
120
|
end
|
116
121
|
|
@@ -118,7 +123,7 @@ module Migrant
|
|
118
123
|
def add_column(name, options)
|
119
124
|
@columns[:added] << [name, options, name]
|
120
125
|
end
|
121
|
-
|
126
|
+
|
122
127
|
def change_column(name, new_schema, old_schema)
|
123
128
|
if new_schema[:default] && new_schema[:default].respond_to?(:to_s) && new_schema[:default].to_s.length < 31
|
124
129
|
change_description = "#{name}_defaulted_to_#{new_schema[:default].to_s.underscore}"
|
@@ -128,11 +133,11 @@ module Migrant
|
|
128
133
|
|
129
134
|
@columns[:changed] << [name, new_schema, old_schema, change_description]
|
130
135
|
end
|
131
|
-
|
136
|
+
|
132
137
|
def delete_column(name, current_structure)
|
133
138
|
@columns[:deleted] << [name, current_structure, name]
|
134
139
|
end
|
135
|
-
|
140
|
+
|
136
141
|
def move_column(old_name, new_name, old_schema, new_schema)
|
137
142
|
if new_schema == old_schema
|
138
143
|
@columns[:renamed] << [old_name, new_name, old_name]
|
@@ -143,11 +148,11 @@ module Migrant
|
|
143
148
|
delete_column(old_name, old_schema)
|
144
149
|
end
|
145
150
|
end
|
146
|
-
|
151
|
+
|
147
152
|
def migrations_path
|
148
153
|
Rails.root.join(ActiveRecord::Migrator.migrations_path)
|
149
154
|
end
|
150
|
-
|
155
|
+
|
151
156
|
include Term::ANSIColor
|
152
157
|
def ask_user(message, choices, warning=false)
|
153
158
|
mappings = choices.uniq.inject({}) do |mappings, choice|
|
@@ -158,7 +163,7 @@ module Migrant
|
|
158
163
|
mappings.merge!(choice_string => choice) unless mappings.values.include?(choice)
|
159
164
|
mappings
|
160
165
|
end
|
161
|
-
|
166
|
+
|
162
167
|
begin
|
163
168
|
prompt = "> #{message} [#{mappings.collect { |shortcut, choice| choice.to_s.sub(shortcut, '('+shortcut+')') }.join(' / ')}]: "
|
164
169
|
if warning
|
@@ -171,7 +176,7 @@ module Migrant
|
|
171
176
|
end until (choice = mappings.detect { |shortcut, choice| [shortcut.downcase,choice.to_s.downcase].include?(input.downcase.strip) })
|
172
177
|
choice.last
|
173
178
|
end
|
174
|
-
|
179
|
+
|
175
180
|
def log(message, type=:info)
|
176
181
|
STDOUT.puts(
|
177
182
|
case type
|
data/migrant.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Pascal Houliston"]
|
9
|
-
s.date =
|
9
|
+
s.date = Date.today
|
10
10
|
s.description = %q{Easier schema management for Rails that complements your domain model.}
|
11
11
|
s.email = %q{101pascal@gmail.com}
|
12
12
|
s.extra_rdoc_files = [
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.summary = %q{All the fun of ActiveRecord without writing your migrations, and with a dash of mocking.}
|
23
23
|
|
24
24
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
25
|
-
s.add_development_dependency(%q<minitest>, ["
|
25
|
+
s.add_development_dependency(%q<minitest>, ["~> 4.0"])
|
26
26
|
s.add_development_dependency(%q<ansi>, [">= 0"])
|
27
27
|
s.add_development_dependency(%q<turn>, [">= 0"])
|
28
28
|
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
@@ -15,6 +15,7 @@ class Business < ActiveRecord::Base
|
|
15
15
|
mobile :string
|
16
16
|
operating_days 0..6
|
17
17
|
date_established :datetime
|
18
|
+
date_registered Date.today - 10.years
|
18
19
|
next_sale (Time.now + 10.days)
|
19
20
|
verified false, :default => false
|
20
21
|
location :type => :string, :limit => 127
|
data/test/test_data_schema.rb
CHANGED
@@ -28,7 +28,8 @@ class TestDataSchema < Test::Unit::TestCase
|
|
28
28
|
|
29
29
|
should "generate a datetime column when given a date or time example" do
|
30
30
|
assert_schema(Business, :date_established, :type => :datetime)
|
31
|
-
assert_schema(Business, :next_sale, :type => :datetime)
|
31
|
+
assert_schema(Business, :next_sale, :type => :datetime)
|
32
|
+
assert_schema(Business, :date_registered, :type => :date)
|
32
33
|
end
|
33
34
|
|
34
35
|
should "generate a smallint column when given a small range" do
|
@@ -11,7 +11,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
11
11
|
def generate_migrations
|
12
12
|
Profiler.run(:migration_generator) do
|
13
13
|
assert_equal true, Migrant::MigrationGenerator.new.run, "Migration Generator reported an error"
|
14
|
-
end
|
14
|
+
end
|
15
15
|
end
|
16
16
|
|
17
17
|
def run_against_template(template)
|
@@ -39,7 +39,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
39
39
|
end
|
40
40
|
false
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
def delete_last_migration
|
44
44
|
File.delete(Dir.glob(File.join(File.dirname(__FILE__), 'rails_app', 'db' ,'migrate', '*.rb')).last)
|
45
45
|
end
|
@@ -122,7 +122,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
122
122
|
assert_equal(Dir.glob(File.join(File.dirname(__FILE__), 'rails_app', 'db' ,'migrate', '*.rb')).select { |migration_file| migration_file.include?('new_field_i_made_up') }.length,
|
123
123
|
1,
|
124
124
|
"Migration should have been generated (without a duplicate)")
|
125
|
-
rake_migrate
|
125
|
+
rake_migrate
|
126
126
|
end
|
127
127
|
|
128
128
|
should "recursively generate mocks for every model" do
|
@@ -137,7 +137,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
137
137
|
test_mockup_hash OpenStruct.new({'a' => 'b'})
|
138
138
|
test_mockup_serialized_example :serialized, :example => OpenStruct.new({'c' => 'd'})
|
139
139
|
end
|
140
|
-
|
140
|
+
|
141
141
|
|
142
142
|
BusinessCategory.belongs_to(:notaclass, :polymorphic => true)
|
143
143
|
generate_migrations
|
@@ -145,47 +145,47 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
145
145
|
BusinessCategory.reset_column_information
|
146
146
|
m = BusinessCategory.mock!
|
147
147
|
mock = BusinessCategory.last
|
148
|
-
|
148
|
+
|
149
149
|
assert_not_nil(mock)
|
150
150
|
assert(mock.test_mockup_of_text.is_a?(String))
|
151
151
|
assert(mock.test_mockup_of_string.is_a?(String))
|
152
152
|
assert(mock.test_mockup_of_integer.is_a?(Fixnum))
|
153
153
|
assert(mock.test_mockup_of_float.is_a?(Float))
|
154
|
-
assert(mock.test_mockup_of_currency.is_a?(BigDecimal))
|
155
|
-
assert(mock.test_mockup_of_datetime.is_a?(Time))
|
154
|
+
assert(mock.test_mockup_of_currency.is_a?(BigDecimal))
|
155
|
+
assert(mock.test_mockup_of_datetime.is_a?(Time))
|
156
156
|
assert(DataType::Base.default_mock.is_a?(String))
|
157
157
|
assert(mock.test_mockup_serialized.is_a?(Hash))
|
158
158
|
assert(mock.test_mockup_hash.is_a?(OpenStruct))
|
159
159
|
assert_equal(mock.test_mockup_hash.a, 'b')
|
160
|
-
assert(mock.test_mockup_serialized_example.is_a?(OpenStruct))
|
160
|
+
assert(mock.test_mockup_serialized_example.is_a?(OpenStruct))
|
161
161
|
assert_equal(mock.test_mockup_serialized_example.c, 'd')
|
162
162
|
end
|
163
|
-
|
163
|
+
|
164
164
|
should "not rescursively generate mocks for an inherited model when prohibited by the user" do
|
165
165
|
category_mock = BusinessCategory.mock!({}, false)
|
166
166
|
assert_not_nil(category_mock)
|
167
167
|
end
|
168
|
-
|
168
|
+
|
169
169
|
should "generate example mocks for an inherited model when STI is in effect" do
|
170
170
|
assert_equal(5.00, Customer.mock.average_rating)
|
171
171
|
assert_equal("somebody@somewhere.com", Customer.mock.email)
|
172
172
|
assert(Customer.mock.is_a?(Customer))
|
173
173
|
end
|
174
|
-
|
175
|
-
|
174
|
+
|
175
|
+
|
176
176
|
should "remove columns when requested and confirmed by the user" do
|
177
|
-
Chameleon.structure
|
177
|
+
Chameleon.structure
|
178
178
|
Chameleon.reset_structure!
|
179
179
|
Chameleon.no_structure
|
180
|
-
|
180
|
+
|
181
181
|
STDIN._mock_responses('D', 'y')
|
182
182
|
run_against_template('deleted_incompatible_spot')
|
183
183
|
end
|
184
|
-
|
184
|
+
|
185
185
|
should "not remove columns when the user does not confirm" do
|
186
186
|
Chameleon.reset_structure!
|
187
187
|
Chameleon.no_structure
|
188
|
-
|
188
|
+
|
189
189
|
STDIN._mock_responses('D', 'n')
|
190
190
|
generate_migrations
|
191
191
|
rake_migrate
|
@@ -193,7 +193,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
193
193
|
spots
|
194
194
|
end
|
195
195
|
end
|
196
|
-
|
196
|
+
|
197
197
|
should "successfully rename a column missing from the schema to a new column specified by the user" do
|
198
198
|
Chameleon.structure do
|
199
199
|
old_spots
|
@@ -207,11 +207,11 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
207
207
|
STDIN._mock_responses('M', 'new_spots')
|
208
208
|
run_against_template('renamed_old_spots')
|
209
209
|
end
|
210
|
-
|
210
|
+
|
211
211
|
should "transfer data to an new incompatible column if the operation is safe" do
|
212
212
|
Chameleon.reset_column_information
|
213
213
|
Chameleon.create!(:new_spots => "22")
|
214
|
-
Chameleon.reset_structure!
|
214
|
+
Chameleon.reset_structure!
|
215
215
|
Chameleon.structure do
|
216
216
|
new_longer_spots "100", :as => :text
|
217
217
|
end
|
@@ -220,13 +220,13 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
220
220
|
Chameleon.reset_column_information
|
221
221
|
assert_equal(Chameleon.first.new_longer_spots, "22")
|
222
222
|
end
|
223
|
-
|
223
|
+
|
224
224
|
should "remove any column if a user elects to when a column can't be moved due to incompatible types" do
|
225
|
-
Chameleon.reset_structure!
|
225
|
+
Chameleon.reset_structure!
|
226
226
|
Chameleon.structure do
|
227
227
|
incompatible_spot 5
|
228
228
|
end
|
229
|
-
|
229
|
+
|
230
230
|
STDIN._mock_responses('M', 'incompatible_spot', 'N', 'Y')
|
231
231
|
run_against_template('added_incompatible_spot_and_deleted_spots')
|
232
232
|
end
|
@@ -238,6 +238,14 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
238
238
|
|
239
239
|
run_against_template('modified_verified')
|
240
240
|
end
|
241
|
+
|
242
|
+
should "update indexes on a model" do
|
243
|
+
Business.structure do
|
244
|
+
name "The Kernel's favourite fried chickens.", :index => true
|
245
|
+
end
|
246
|
+
|
247
|
+
run_against_template('businesses_indexed_name')
|
248
|
+
end
|
241
249
|
end
|
242
250
|
end
|
243
251
|
|
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: migrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
|
4
|
+
version: 1.4.3
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Pascal Houliston
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thoughtbot-shoulda
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
17
18
|
requirements:
|
18
19
|
- - ! '>='
|
19
20
|
- !ruby/object:Gem::Version
|
@@ -21,6 +22,7 @@ dependencies:
|
|
21
22
|
type: :development
|
22
23
|
prerelease: false
|
23
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ! '>='
|
26
28
|
- !ruby/object:Gem::Version
|
@@ -28,20 +30,23 @@ dependencies:
|
|
28
30
|
- !ruby/object:Gem::Dependency
|
29
31
|
name: minitest
|
30
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
31
34
|
requirements:
|
32
|
-
- -
|
35
|
+
- - ~>
|
33
36
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
37
|
+
version: '4.0'
|
35
38
|
type: :development
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
|
-
- -
|
43
|
+
- - ~>
|
40
44
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
45
|
+
version: '4.0'
|
42
46
|
- !ruby/object:Gem::Dependency
|
43
47
|
name: ansi
|
44
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
45
50
|
requirements:
|
46
51
|
- - ! '>='
|
47
52
|
- !ruby/object:Gem::Version
|
@@ -49,6 +54,7 @@ dependencies:
|
|
49
54
|
type: :development
|
50
55
|
prerelease: false
|
51
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
59
|
- - ! '>='
|
54
60
|
- !ruby/object:Gem::Version
|
@@ -56,6 +62,7 @@ dependencies:
|
|
56
62
|
- !ruby/object:Gem::Dependency
|
57
63
|
name: turn
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
59
66
|
requirements:
|
60
67
|
- - ! '>='
|
61
68
|
- !ruby/object:Gem::Version
|
@@ -63,6 +70,7 @@ dependencies:
|
|
63
70
|
type: :development
|
64
71
|
prerelease: false
|
65
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
66
74
|
requirements:
|
67
75
|
- - ! '>='
|
68
76
|
- !ruby/object:Gem::Version
|
@@ -70,6 +78,7 @@ dependencies:
|
|
70
78
|
- !ruby/object:Gem::Dependency
|
71
79
|
name: sqlite3
|
72
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
73
82
|
requirements:
|
74
83
|
- - ! '>='
|
75
84
|
- !ruby/object:Gem::Version
|
@@ -77,6 +86,7 @@ dependencies:
|
|
77
86
|
type: :development
|
78
87
|
prerelease: false
|
79
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
80
90
|
requirements:
|
81
91
|
- - ! '>='
|
82
92
|
- !ruby/object:Gem::Version
|
@@ -84,6 +94,7 @@ dependencies:
|
|
84
94
|
- !ruby/object:Gem::Dependency
|
85
95
|
name: simplecov
|
86
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
87
98
|
requirements:
|
88
99
|
- - ! '>='
|
89
100
|
- !ruby/object:Gem::Version
|
@@ -91,6 +102,7 @@ dependencies:
|
|
91
102
|
type: :development
|
92
103
|
prerelease: false
|
93
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
94
106
|
requirements:
|
95
107
|
- - ! '>='
|
96
108
|
- !ruby/object:Gem::Version
|
@@ -98,6 +110,7 @@ dependencies:
|
|
98
110
|
- !ruby/object:Gem::Dependency
|
99
111
|
name: terminal-table
|
100
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
101
114
|
requirements:
|
102
115
|
- - ! '>='
|
103
116
|
- !ruby/object:Gem::Version
|
@@ -105,6 +118,7 @@ dependencies:
|
|
105
118
|
type: :development
|
106
119
|
prerelease: false
|
107
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
108
122
|
requirements:
|
109
123
|
- - ! '>='
|
110
124
|
- !ruby/object:Gem::Version
|
@@ -112,6 +126,7 @@ dependencies:
|
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: rake
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
115
130
|
requirements:
|
116
131
|
- - ! '>='
|
117
132
|
- !ruby/object:Gem::Version
|
@@ -119,6 +134,7 @@ dependencies:
|
|
119
134
|
type: :development
|
120
135
|
prerelease: false
|
121
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
122
138
|
requirements:
|
123
139
|
- - ! '>='
|
124
140
|
- !ruby/object:Gem::Version
|
@@ -126,6 +142,7 @@ dependencies:
|
|
126
142
|
- !ruby/object:Gem::Dependency
|
127
143
|
name: simplecov
|
128
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
129
146
|
requirements:
|
130
147
|
- - ! '>='
|
131
148
|
- !ruby/object:Gem::Version
|
@@ -133,6 +150,7 @@ dependencies:
|
|
133
150
|
type: :development
|
134
151
|
prerelease: false
|
135
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
136
154
|
requirements:
|
137
155
|
- - ! '>='
|
138
156
|
- !ruby/object:Gem::Version
|
@@ -140,6 +158,7 @@ dependencies:
|
|
140
158
|
- !ruby/object:Gem::Dependency
|
141
159
|
name: rails
|
142
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
143
162
|
requirements:
|
144
163
|
- - ! '>='
|
145
164
|
- !ruby/object:Gem::Version
|
@@ -147,6 +166,7 @@ dependencies:
|
|
147
166
|
type: :runtime
|
148
167
|
prerelease: false
|
149
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
150
170
|
requirements:
|
151
171
|
- - ! '>='
|
152
172
|
- !ruby/object:Gem::Version
|
@@ -154,6 +174,7 @@ dependencies:
|
|
154
174
|
- !ruby/object:Gem::Dependency
|
155
175
|
name: faker
|
156
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
157
178
|
requirements:
|
158
179
|
- - ! '>='
|
159
180
|
- !ruby/object:Gem::Version
|
@@ -161,6 +182,7 @@ dependencies:
|
|
161
182
|
type: :runtime
|
162
183
|
prerelease: false
|
163
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
164
186
|
requirements:
|
165
187
|
- - ! '>='
|
166
188
|
- !ruby/object:Gem::Version
|
@@ -168,6 +190,7 @@ dependencies:
|
|
168
190
|
- !ruby/object:Gem::Dependency
|
169
191
|
name: term-ansicolor
|
170
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
171
194
|
requirements:
|
172
195
|
- - ! '>='
|
173
196
|
- !ruby/object:Gem::Version
|
@@ -175,6 +198,7 @@ dependencies:
|
|
175
198
|
type: :runtime
|
176
199
|
prerelease: false
|
177
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
178
202
|
requirements:
|
179
203
|
- - ! '>='
|
180
204
|
- !ruby/object:Gem::Version
|
@@ -187,227 +211,117 @@ extra_rdoc_files:
|
|
187
211
|
- LICENSE
|
188
212
|
- README.rdoc
|
189
213
|
files:
|
190
|
-
-
|
191
|
-
|
192
|
-
-
|
193
|
-
|
194
|
-
-
|
195
|
-
|
196
|
-
-
|
197
|
-
|
198
|
-
-
|
199
|
-
|
200
|
-
-
|
201
|
-
|
202
|
-
-
|
203
|
-
|
204
|
-
-
|
205
|
-
|
206
|
-
-
|
207
|
-
|
208
|
-
-
|
209
|
-
|
210
|
-
-
|
211
|
-
|
212
|
-
-
|
213
|
-
|
214
|
-
-
|
215
|
-
|
216
|
-
-
|
217
|
-
|
218
|
-
-
|
219
|
-
|
220
|
-
-
|
221
|
-
|
222
|
-
-
|
223
|
-
|
224
|
-
-
|
225
|
-
|
226
|
-
-
|
227
|
-
|
228
|
-
-
|
229
|
-
|
230
|
-
-
|
231
|
-
|
232
|
-
-
|
233
|
-
|
234
|
-
-
|
235
|
-
|
236
|
-
-
|
237
|
-
|
238
|
-
-
|
239
|
-
|
240
|
-
-
|
241
|
-
|
242
|
-
-
|
243
|
-
|
244
|
-
-
|
245
|
-
|
246
|
-
-
|
247
|
-
|
248
|
-
-
|
249
|
-
|
250
|
-
-
|
251
|
-
|
252
|
-
-
|
253
|
-
|
254
|
-
-
|
255
|
-
|
256
|
-
|
257
|
-
-
|
258
|
-
|
259
|
-
|
260
|
-
-
|
261
|
-
|
262
|
-
-
|
263
|
-
|
264
|
-
|
265
|
-
-
|
266
|
-
|
267
|
-
-
|
268
|
-
|
269
|
-
-
|
270
|
-
|
271
|
-
-
|
272
|
-
|
273
|
-
|
274
|
-
-
|
275
|
-
|
276
|
-
-
|
277
|
-
dGVzdC9yYWlsc19hcHAvYXBwL3ZpZXdzL2xheW91dHMvYXBwbGljYXRpb24u
|
278
|
-
aHRtbC5lcmI=
|
279
|
-
- !binary |-
|
280
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnLnJ1
|
281
|
-
- !binary |-
|
282
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2FwcGxpY2F0aW9uLnJi
|
283
|
-
- !binary |-
|
284
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Jvb3QucmI=
|
285
|
-
- !binary |-
|
286
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2RhdGFiYXNlLnltbA==
|
287
|
-
- !binary |-
|
288
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50LnJi
|
289
|
-
- !binary |-
|
290
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50cy9kZXZlbG9wbWVu
|
291
|
-
dC5yYg==
|
292
|
-
- !binary |-
|
293
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50cy9wcm9kdWN0aW9u
|
294
|
-
LnJi
|
295
|
-
- !binary |-
|
296
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50cy90ZXN0LnJi
|
297
|
-
- !binary |-
|
298
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9iYWNrdHJhY2Vf
|
299
|
-
c2lsZW5jZXJzLnJi
|
300
|
-
- !binary |-
|
301
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9pbmZsZWN0aW9u
|
302
|
-
cy5yYg==
|
303
|
-
- !binary |-
|
304
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9taW1lX3R5cGVz
|
305
|
-
LnJi
|
306
|
-
- !binary |-
|
307
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9zZWNyZXRfdG9r
|
308
|
-
ZW4ucmI=
|
309
|
-
- !binary |-
|
310
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9zZXNzaW9uX3N0
|
311
|
-
b3JlLnJi
|
312
|
-
- !binary |-
|
313
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2xvY2FsZXMvZW4ueW1s
|
314
|
-
- !binary |-
|
315
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL3JvdXRlcy5yYg==
|
316
|
-
- !binary |-
|
317
|
-
dGVzdC9yYWlsc19hcHAvZGIvc2VlZHMucmI=
|
318
|
-
- !binary |-
|
319
|
-
dGVzdC9yYWlsc19hcHAvbGliL3Rhc2tzLy5naXRrZWVw
|
320
|
-
- !binary |-
|
321
|
-
dGVzdC9yYWlsc19hcHAvcHVibGljLzQwNC5odG1s
|
322
|
-
- !binary |-
|
323
|
-
dGVzdC9yYWlsc19hcHAvcHVibGljLzQyMi5odG1s
|
324
|
-
- !binary |-
|
325
|
-
dGVzdC9yYWlsc19hcHAvcHVibGljLzUwMC5odG1s
|
326
|
-
- !binary |-
|
327
|
-
dGVzdC9yYWlsc19hcHAvc2NyaXB0L3JhaWxz
|
328
|
-
- !binary |-
|
329
|
-
dGVzdC9yYWlsc19hcHAvdGVzdC9wZXJmb3JtYW5jZS9icm93c2luZ190ZXN0
|
330
|
-
LnJi
|
331
|
-
- !binary |-
|
332
|
-
dGVzdC9yYWlsc19hcHAvdGVzdC90ZXN0X2hlbHBlci5yYg==
|
333
|
-
- !binary |-
|
334
|
-
dGVzdC9yYWlsc19hcHAvdmVuZG9yL3BsdWdpbnMvLmdpdGtlZXA=
|
335
|
-
- !binary |-
|
336
|
-
dGVzdC90ZXN0X2RhdGFfc2NoZW1hLnJi
|
337
|
-
- !binary |-
|
338
|
-
dGVzdC90ZXN0X21pZ3JhdGlvbl9nZW5lcmF0b3IucmI=
|
339
|
-
- !binary |-
|
340
|
-
dGVzdC90ZXN0X3ZhbGlkYXRpb25zLnJi
|
341
|
-
- !binary |-
|
342
|
-
dGVzdC90ZXN0X3p6el9wZXJmb3JtYW5jZS5yYg==
|
343
|
-
- !binary |-
|
344
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9hZGRlZF9pbmNvbXBh
|
345
|
-
dGlibGVfc3BvdF9hbmRfZGVsZXRlZF9zcG90cy5yYg==
|
346
|
-
- !binary |-
|
347
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9idXNpbmVzc19pZC5y
|
348
|
-
Yg==
|
349
|
-
- !binary |-
|
350
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jaGFtZWxlb25zX2Fk
|
351
|
-
ZGVkX25ld19sb25nZXJfc3BvdHNfYW5kX21vdmVkX25ld19zcG90cy5yYg==
|
352
|
-
- !binary |-
|
353
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfYnVzaW5l
|
354
|
-
c3NfY2F0ZWdvcmllcy5yYg==
|
355
|
-
- !binary |-
|
356
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfYnVzaW5l
|
357
|
-
c3Nlcy5yYg==
|
358
|
-
- !binary |-
|
359
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfY2F0ZWdv
|
360
|
-
cmllcy5yYg==
|
361
|
-
- !binary |-
|
362
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfY2hhbWVs
|
363
|
-
ZW9ucy5yYg==
|
364
|
-
- !binary |-
|
365
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfcmV2aWV3
|
366
|
-
cy5yYg==
|
367
|
-
- !binary |-
|
368
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfdXNlcnMu
|
369
|
-
cmI=
|
370
|
-
- !binary |-
|
371
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVkX2F0LnJi
|
372
|
-
- !binary |-
|
373
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9kZWxldGVkX2luY29t
|
374
|
-
cGF0aWJsZV9zcG90LnJi
|
375
|
-
- !binary |-
|
376
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9kZWxldGVkX3Nwb3Rz
|
377
|
-
LnJi
|
378
|
-
- !binary |-
|
379
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9lc3RpbWF0ZWRfdmFs
|
380
|
-
dWVfbm90ZXMucmI=
|
381
|
-
- !binary |-
|
382
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9sYW5kbGluZS5yYg==
|
383
|
-
- !binary |-
|
384
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9tb2RpZmllZF92ZXJp
|
385
|
-
ZmllZC5yYg==
|
386
|
-
- !binary |-
|
387
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9yZW5hbWVkX29sZF9z
|
388
|
-
cG90cy5yYg==
|
214
|
+
- .gitignore
|
215
|
+
- .rvmrc
|
216
|
+
- .travis.yml
|
217
|
+
- Gemfile
|
218
|
+
- LICENSE
|
219
|
+
- README.rdoc
|
220
|
+
- Rakefile
|
221
|
+
- VERSION
|
222
|
+
- changelog.md
|
223
|
+
- lib/dsl/data_type.rb
|
224
|
+
- lib/dsl/data_types/primitives.rb
|
225
|
+
- lib/dsl/data_types/semantic.rb
|
226
|
+
- lib/generators/migrations.rb
|
227
|
+
- lib/generators/model.rb
|
228
|
+
- lib/generators/templates/change_migration.erb
|
229
|
+
- lib/generators/templates/create_migration.erb
|
230
|
+
- lib/generators/templates/create_migration.rb
|
231
|
+
- lib/generators/templates/model.rb
|
232
|
+
- lib/migrant.rb
|
233
|
+
- lib/migrant/migration_generator.rb
|
234
|
+
- lib/migrant/model_extensions.rb
|
235
|
+
- lib/migrant/schema.rb
|
236
|
+
- lib/pickle/migrant.rb
|
237
|
+
- lib/railtie.rb
|
238
|
+
- lib/simple_object.rb
|
239
|
+
- lib/tasks/db.rake
|
240
|
+
- migrant.gemspec
|
241
|
+
- test/additional_models/review.rb
|
242
|
+
- test/helper.rb
|
243
|
+
- test/rails_app/.gitignore
|
244
|
+
- test/rails_app/README
|
245
|
+
- test/rails_app/Rakefile
|
246
|
+
- test/rails_app/app/controllers/application_controller.rb
|
247
|
+
- test/rails_app/app/helpers/application_helper.rb
|
248
|
+
- test/rails_app/app/models/business.rb
|
249
|
+
- test/rails_app/app/models/business_category.rb
|
250
|
+
- test/rails_app/app/models/category.rb
|
251
|
+
- test/rails_app/app/models/chameleon.rb
|
252
|
+
- test/rails_app/app/models/customer.rb
|
253
|
+
- test/rails_app/app/models/non_migrant_model.rb
|
254
|
+
- test/rails_app/app/models/user.rb
|
255
|
+
- test/rails_app/app/views/layouts/application.html.erb
|
256
|
+
- test/rails_app/config.ru
|
257
|
+
- test/rails_app/config/application.rb
|
258
|
+
- test/rails_app/config/boot.rb
|
259
|
+
- test/rails_app/config/database.yml
|
260
|
+
- test/rails_app/config/environment.rb
|
261
|
+
- test/rails_app/config/environments/development.rb
|
262
|
+
- test/rails_app/config/environments/production.rb
|
263
|
+
- test/rails_app/config/environments/test.rb
|
264
|
+
- test/rails_app/config/initializers/backtrace_silencers.rb
|
265
|
+
- test/rails_app/config/initializers/inflections.rb
|
266
|
+
- test/rails_app/config/initializers/mime_types.rb
|
267
|
+
- test/rails_app/config/initializers/secret_token.rb
|
268
|
+
- test/rails_app/config/initializers/session_store.rb
|
269
|
+
- test/rails_app/config/locales/en.yml
|
270
|
+
- test/rails_app/config/routes.rb
|
271
|
+
- test/rails_app/db/seeds.rb
|
272
|
+
- test/rails_app/lib/tasks/.gitkeep
|
273
|
+
- test/rails_app/public/404.html
|
274
|
+
- test/rails_app/public/422.html
|
275
|
+
- test/rails_app/public/500.html
|
276
|
+
- test/rails_app/script/rails
|
277
|
+
- test/rails_app/test/performance/browsing_test.rb
|
278
|
+
- test/rails_app/test/test_helper.rb
|
279
|
+
- test/rails_app/vendor/plugins/.gitkeep
|
280
|
+
- test/test_data_schema.rb
|
281
|
+
- test/test_migration_generator.rb
|
282
|
+
- test/test_validations.rb
|
283
|
+
- test/test_zzz_performance.rb
|
284
|
+
- test/verified_output/migrations/added_incompatible_spot_and_deleted_spots.rb
|
285
|
+
- test/verified_output/migrations/business_id.rb
|
286
|
+
- test/verified_output/migrations/businesses_indexed_name.rb
|
287
|
+
- test/verified_output/migrations/chameleons_added_new_longer_spots_and_moved_new_spots.rb
|
288
|
+
- test/verified_output/migrations/create_business_categories.rb
|
289
|
+
- test/verified_output/migrations/create_businesses.rb
|
290
|
+
- test/verified_output/migrations/create_categories.rb
|
291
|
+
- test/verified_output/migrations/create_chameleons.rb
|
292
|
+
- test/verified_output/migrations/create_reviews.rb
|
293
|
+
- test/verified_output/migrations/create_users.rb
|
294
|
+
- test/verified_output/migrations/created_at.rb
|
295
|
+
- test/verified_output/migrations/deleted_incompatible_spot.rb
|
296
|
+
- test/verified_output/migrations/deleted_spots.rb
|
297
|
+
- test/verified_output/migrations/estimated_value_notes.rb
|
298
|
+
- test/verified_output/migrations/landline.rb
|
299
|
+
- test/verified_output/migrations/modified_verified.rb
|
300
|
+
- test/verified_output/migrations/renamed_old_spots.rb
|
389
301
|
homepage: http://github.com/pascalh1011/migrant
|
390
302
|
licenses: []
|
391
|
-
metadata: {}
|
392
303
|
post_install_message:
|
393
304
|
rdoc_options: []
|
394
305
|
require_paths:
|
395
306
|
- lib
|
396
307
|
required_ruby_version: !ruby/object:Gem::Requirement
|
308
|
+
none: false
|
397
309
|
requirements:
|
398
310
|
- - ! '>='
|
399
311
|
- !ruby/object:Gem::Version
|
400
312
|
version: '0'
|
401
313
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
314
|
+
none: false
|
402
315
|
requirements:
|
403
316
|
- - ! '>='
|
404
317
|
- !ruby/object:Gem::Version
|
405
318
|
version: '0'
|
406
319
|
requirements: []
|
407
320
|
rubyforge_project:
|
408
|
-
rubygems_version:
|
321
|
+
rubygems_version: 1.8.23
|
409
322
|
signing_key:
|
410
|
-
specification_version:
|
323
|
+
specification_version: 3
|
411
324
|
summary: All the fun of ActiveRecord without writing your migrations, and with a dash
|
412
325
|
of mocking.
|
413
326
|
test_files: []
|
327
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NTQ5NTI0NDgxOGRmNGU5YTczNWRkNDIxMjFiY2FmM2ViZWM5ZDNjOA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OWViYzNmYzRmN2EzYzAwOGIxYzkwNTNiNTUyOGJjMzVlMDU2NGY0YQ==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
YTJjMzZhYmY4YTBmNjk5YTAwZjhkYzQ1NDlmZTAyOTIyZGFlNDkzN2U3YmY5
|
10
|
-
YWQwNDk2NWViYzUzNjZhYmU4MDZkYjY3ZTJkMWRlMTc1MTc1Yjc3NjIyZWJk
|
11
|
-
ZjNlODFlMTMzODZmOGMxM2ViYWRlNGY3MjUwY2FjMTk4M2ZiODg=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZjUwM2I4MGYxM2M1OWFlNjk0MTUwY2RiYTM1NDZlNDc1ZjA3NDg5ODk5MzU5
|
14
|
-
OTFiNjE3YTNhMmRhZDk4ZTg2N2RjMTFlZDIzYWViYzAxOTU0YmI5YjBhZjYx
|
15
|
-
MTBjNTA3NDExNDlkZjE0NmQxNTIxNzk2MTMyZDhiMjM2YjhmZTc=
|
checksums.yaml.gz.asc
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v1.4.13 (Darwin)
|
3
|
-
|
4
|
-
iQEcBAABAgAGBQJRRHSEAAoJEDz+ymTWCmMDY/wIAKOP/Wdhj+WRlsbP118pFOmM
|
5
|
-
Xkr6h4l9GHQwGVtwvCQFjtkqv7TnLIZtEFJhOrfnkm2XYK3KG7R/qLkZrFYqioVV
|
6
|
-
O+BUGkUb+BYzm4E/VbdSOyyw0EEyhnIY5xjhWfpYoA0Fi/lm9wuhLrB1O+awYa+u
|
7
|
-
HfOZHnwRR4K0ufsJbC95De/C213A+Vy0POTWozWkxE4+NjS119LtJ17IZ+95ptpX
|
8
|
-
5Ndoo3weUy43L/blc4mLHtYw07dazA9HlwoCsdh+G12NV6KWdTerhljEO3/8/6JT
|
9
|
-
HXDhfWKyB0NKCMVxZZrkFchZQNwE3xiUUid0am1ZHawYZKlRk0Bcda1li3DpBF8=
|
10
|
-
=MYxJ
|
11
|
-
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v1.4.13 (Darwin)
|
3
|
-
|
4
|
-
iQEcBAABAgAGBQJRRHSCAAoJEDz+ymTWCmMDEjMH/2rEe/Wohm7eLuUgJ5Vr2rTb
|
5
|
-
r9gAMbIiSYdwOw0IvbyDGhyEEte4IKWkJLDg8r8JkJ4AxVNkEorFc6NMts1PUcbq
|
6
|
-
TPJmgjytcKMc61vwvDQv26nuIYGNqUpCQwXwzC6kBTD9SkHqNUqfi6CrBuif15ng
|
7
|
-
xxbYHgzplkqeZ+pLhwRrV9xsGY+sxhBp+n4zHmgpVtRXK0bg6qTEa2doBJXtlSNF
|
8
|
-
RXGSn+IXEeJcUX2hgwA2Ur6JhbCdU6dQ4Htm+Z27INUJEOAY+ISzt9Dd5rofCPNE
|
9
|
-
sFoDUx8uzpOKZBqZesTQEsY1nZQw+4zaPRlM+EChQHUXHxyZXx5yaVL2IMWMzBM=
|
10
|
-
=QCZ1
|
11
|
-
-----END PGP SIGNATURE-----
|
metadata.gz.asc
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v1.4.13 (Darwin)
|
3
|
-
|
4
|
-
iQEcBAABAgAGBQJRRHR+AAoJEDz+ymTWCmMD7UsH/j/0+BIpkipFNCBaxXqGDTwe
|
5
|
-
UNefilOJ6zJzjETLnGUE0GKR82Q+kp83HwVGr+B3/rdpyg7p5kz3QqT+U8OZ/9Lq
|
6
|
-
8WPcBXRHouGydhFlFdRe3mevUwiEfYkJ865pgUA5R1DFVJRlQShbgD15I+HgyaNx
|
7
|
-
gv2qGeOCslVHo/L2KlvZHw6FJfNXuwhVPMPlDIN60WthCZcMnRG9whztvWCj1b1m
|
8
|
-
XaW5pBLNiAYn2XTom436/S1B31OtcGh5OStRq3VUSxk6r0tTD7iOd9CHU4FnTR+v
|
9
|
-
Vll6SXD95hbRJdqXBrmGb6TleWgdRlNaEWbbeCMyEq2nJqxeMLcH0wd5NXON5LE=
|
10
|
-
=yJe4
|
11
|
-
-----END PGP SIGNATURE-----
|