declare_schema 0.1.1 → 0.3.0.pre.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.
- checksums.yaml +4 -4
- data/.travis.yml +37 -0
- data/CHANGELOG.md +36 -4
- data/Gemfile +0 -2
- data/Gemfile.lock +1 -4
- data/Rakefile +13 -20
- data/gemfiles/rails_4.gemfile +4 -7
- data/gemfiles/rails_5.gemfile +4 -7
- data/gemfiles/rails_6.gemfile +4 -7
- data/lib/declare_schema/model.rb +21 -23
- data/lib/declare_schema/model/field_spec.rb +1 -12
- data/lib/declare_schema/version.rb +1 -1
- data/lib/generators/declare_schema/migration/migration_generator.rb +20 -13
- data/lib/generators/declare_schema/migration/migrator.rb +57 -33
- data/lib/generators/declare_schema/migration/templates/migration.rb.erb +1 -1
- data/lib/generators/declare_schema/support/eval_template.rb +12 -3
- data/lib/generators/declare_schema/support/model.rb +77 -2
- data/spec/lib/declare_schema/api_spec.rb +125 -0
- data/spec/lib/declare_schema/field_declaration_dsl_spec.rb +8 -4
- data/spec/lib/declare_schema/generator_spec.rb +57 -0
- data/spec/lib/declare_schema/interactive_primary_key_spec.rb +51 -0
- data/spec/lib/declare_schema/migration_generator_spec.rb +735 -0
- data/spec/lib/declare_schema/prepare_testapp.rb +31 -0
- data/spec/lib/generators/declare_schema/migration/migrator_spec.rb +42 -0
- data/spec/spec_helper.rb +26 -0
- metadata +9 -11
- data/.jenkins/Jenkinsfile +0 -72
- data/.jenkins/ruby_build_pod.yml +0 -19
- data/lib/generators/declare_schema/model/templates/model_injection.rb.erb +0 -25
- data/test/api.rdoctest +0 -136
- data/test/generators.rdoctest +0 -60
- data/test/interactive_primary_key.rdoctest +0 -56
- data/test/migration_generator.rdoctest +0 -846
- data/test/migration_generator_comments.rdoctestDISABLED +0 -74
- data/test/prepare_testapp.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a82a5e54f5dadf8a733520efe057d8b1a0319e1725ef82d41d97004ee68cf0c
|
4
|
+
data.tar.gz: 899e9f135706d4883b448bcffc09b5f962cb84892c1bf1be27e6f2e36209454f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0465ffd5522605f9e0c61beffc2571ab76d077020596d82fe616c60cd631c6663b399c9c5d02c8983d9060223f3bb100932baf411efa69a3a7f236097784ae9e
|
7
|
+
data.tar.gz: 4c6b7b49067650cd0791257614dc84e1f6f6a9191346578249fa196dc0d9f621c491d597aaa32f82c64bde8f6e7fe8e18f1974f89c4677ade6c8203aede20ec4
|
data/.travis.yml
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
dist: trusty
|
3
|
+
os: linux
|
4
|
+
language: ruby
|
5
|
+
cache: bundler
|
6
|
+
rvm:
|
7
|
+
- 2.4.5
|
8
|
+
- 2.5.8
|
9
|
+
- 2.6.5
|
10
|
+
- 2.7.1
|
11
|
+
- ruby-head
|
12
|
+
gemfile:
|
13
|
+
- gemfiles/rails_4.gemfile
|
14
|
+
- gemfiles/rails_5.gemfile
|
15
|
+
- gemfiles/rails_6.gemfile
|
16
|
+
jobs:
|
17
|
+
fast_finish: false
|
18
|
+
exclude:
|
19
|
+
- gemfile: gemfiles/rails_4.gemfile
|
20
|
+
rvm: 2.7.1
|
21
|
+
- gemfile: gemfiles/rails_5.gemfile
|
22
|
+
rvm: 2.4.5
|
23
|
+
- gemfile: gemfiles/rails_6.gemfile
|
24
|
+
rvm: 2.4.5
|
25
|
+
allow_failures:
|
26
|
+
- rvm: ruby-head
|
27
|
+
before_install:
|
28
|
+
- rm -f /home/travis/.rvm/rubies/ruby-2.*/lib/ruby/gems/2.*/specifications/default/bundler-2.*.gemspec
|
29
|
+
- echo y | rvm @global do gem install bundler -v 1.17.3 --force --default
|
30
|
+
- gem install bundler -v 1.17.3 --force --default
|
31
|
+
- gem install bundler -v 1.17.3
|
32
|
+
install:
|
33
|
+
- bundle --version
|
34
|
+
- bundle install --jobs=3 --retry=3 --path=${BUNDLE_PATH:-vendor/bundle}
|
35
|
+
script:
|
36
|
+
- bundle exec rake test:prepare_testapp[force]
|
37
|
+
- bundle exec rake test:all < test_responses.txt
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,43 @@
|
|
1
|
-
# CHANGELOG for `
|
1
|
+
# CHANGELOG for `declare_schema`
|
2
2
|
|
3
3
|
Inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
4
4
|
|
5
5
|
Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
-
## [0.
|
7
|
+
## [0.3.0] - Unreleased
|
8
8
|
### Added
|
9
|
-
-
|
9
|
+
- Added support for `belongs_to optional:`.
|
10
|
+
If given, it is passed through to `ActiveRecord`'s `belong_to`.
|
11
|
+
If not given in Rails 5+, the `optional:` value is set equal to the `null:` value (default: `false`) and that
|
12
|
+
is is passed to `ActiveRecord`'s `belong_to`.
|
10
13
|
|
11
|
-
[0.
|
14
|
+
## [0.2.0] - 2020-10-26
|
15
|
+
### Added
|
16
|
+
- Automatically eager_load! all Rails::Engines before generating migrations.
|
17
|
+
|
18
|
+
### Changed
|
19
|
+
- Changed tests from rdoctest to rspec.
|
20
|
+
|
21
|
+
### Fixed
|
22
|
+
- Fixed a bug where `:text limit: 0xffff_ffff` (max size) was omitted from migrations.
|
23
|
+
- Fixed a bug where `:bigint` foreign keys were omitted from the migration.
|
24
|
+
|
25
|
+
## [0.1.3] - 2020-10-08
|
26
|
+
### Changed
|
27
|
+
- Updated the `always_ignore_tables` list in `Migrator` to access Rails metadata table names
|
28
|
+
using the appropriate Rails configuration attributes.
|
29
|
+
|
30
|
+
## [0.1.2] - 2020-09-29
|
31
|
+
### Changed
|
32
|
+
- Added travis support and created 2 specs as a starting point.
|
33
|
+
|
34
|
+
|
35
|
+
## [0.1.1] - 2020-09-24
|
36
|
+
### Added
|
37
|
+
- Initial version from https://github.com/Invoca/hobo_fields v4.1.0.
|
38
|
+
|
39
|
+
[0.3.0]: https://github.com/Invoca/declare_schema/compare/v0.2.0...v0.3.0
|
40
|
+
[0.2.0]: https://github.com/Invoca/declare_schema/compare/v0.1.3...v0.2.0
|
41
|
+
[0.1.3]: https://github.com/Invoca/declare_schema/compare/v0.1.2...v0.1.3
|
42
|
+
[0.1.2]: https://github.com/Invoca/declare_schema/compare/v0.1.1...v0.1.2
|
43
|
+
[0.1.1]: https://github.com/Invoca/declare_schema/tree/v0.1.1
|
data/Gemfile
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
source 'https://rubygems.org'
|
4
|
-
source 'https://gem.fury.io/invoca'
|
5
4
|
|
6
5
|
gemspec
|
7
6
|
|
@@ -19,6 +18,5 @@ gem 'rails', '~> 5.2', '>= 5.2.4.3'
|
|
19
18
|
gem 'responders'
|
20
19
|
gem 'rspec'
|
21
20
|
gem 'rubocop'
|
22
|
-
gem 'rubydoctest'
|
23
21
|
gem 'sqlite3'
|
24
22
|
gem 'yard'
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
declare_schema (0.
|
4
|
+
declare_schema (0.3.0.pre.1)
|
5
5
|
rails (>= 4.2)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
|
-
remote: https://gem.fury.io/invoca/
|
10
9
|
specs:
|
11
10
|
actioncable (5.2.4.4)
|
12
11
|
actionpack (= 5.2.4.4)
|
@@ -160,7 +159,6 @@ GEM
|
|
160
159
|
rubocop-ast (0.4.2)
|
161
160
|
parser (>= 2.7.1.4)
|
162
161
|
ruby-progressbar (1.10.1)
|
163
|
-
rubydoctest (1.1.5)
|
164
162
|
sprockets (4.0.2)
|
165
163
|
concurrent-ruby (~> 1.0)
|
166
164
|
rack (> 1, < 3)
|
@@ -195,7 +193,6 @@ DEPENDENCIES
|
|
195
193
|
responders
|
196
194
|
rspec
|
197
195
|
rubocop
|
198
|
-
rubydoctest
|
199
196
|
sqlite3
|
200
197
|
yard
|
201
198
|
|
data/Rakefile
CHANGED
@@ -14,7 +14,6 @@ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
|
|
14
14
|
require 'declare_schema'
|
15
15
|
|
16
16
|
RUBY = 'ruby'
|
17
|
-
RUBYDOCTEST = ENV['RUBYDOCTEST'] || "#{RUBY} -S rubydoctest"
|
18
17
|
GEM_ROOT = __dir__
|
19
18
|
TESTAPP_PATH = ENV['TESTAPP_PATH'] || File.join(Dir.tmpdir, 'declare_schema_testapp')
|
20
19
|
BIN = File.expand_path('bin/declare_schema', __dir__)
|
@@ -24,13 +23,7 @@ task default: 'test:all'
|
|
24
23
|
include Rake::DSL
|
25
24
|
|
26
25
|
namespace "test" do
|
27
|
-
task all:
|
28
|
-
|
29
|
-
desc "Run the doctests"
|
30
|
-
task :doctest do |_t|
|
31
|
-
files = Dir['test/*.rdoctest'].sort.map { |f| File.expand_path(f) }.join(' ')
|
32
|
-
system("#{RUBYDOCTEST} #{files}") or exit(1)
|
33
|
-
end
|
26
|
+
task all: :spec
|
34
27
|
|
35
28
|
desc "Prepare a rails application for testing"
|
36
29
|
task :prepare_testapp, :force do |_t, args|
|
@@ -38,19 +31,19 @@ namespace "test" do
|
|
38
31
|
FileUtils.remove_entry_secure(TESTAPP_PATH, true)
|
39
32
|
sh %(#{BIN} new #{TESTAPP_PATH} --skip-wizard --skip-bundle)
|
40
33
|
FileUtils.chdir TESTAPP_PATH
|
41
|
-
sh
|
42
|
-
sh
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
sh
|
47
|
-
rm
|
48
|
-
sh
|
49
|
-
puts
|
34
|
+
sh "bundle install"
|
35
|
+
sh "(echo '';
|
36
|
+
echo \"gem 'irt', :group => :development\";
|
37
|
+
echo \"gem 'therubyracer'\";
|
38
|
+
echo \"gem 'kramdown'\") > Gemfile"
|
39
|
+
sh "echo '' > app/models/.gitignore" # because git reset --hard would rm the dir
|
40
|
+
rm ".gitignore" # we need to reset everything in a testapp
|
41
|
+
sh "git init && git add . && git commit -m \"initial commit\""
|
42
|
+
puts "The testapp has been created in '#{TESTAPP_PATH}'"
|
50
43
|
else
|
51
|
-
FileUtils.chdir
|
52
|
-
sh
|
53
|
-
sh
|
44
|
+
FileUtils.chdir(TESTAPP_PATH)
|
45
|
+
sh "git add ."
|
46
|
+
sh "git reset --hard -q HEAD"
|
54
47
|
end
|
55
48
|
end
|
56
49
|
end
|
data/gemfiles/rails_4.gemfile
CHANGED
@@ -1,25 +1,22 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
# This file was generated by Appraisal
|
4
2
|
|
5
3
|
source "https://rubygems.org"
|
6
|
-
source "https://gem.fury.io/invoca"
|
7
4
|
|
8
5
|
gem "appraisal"
|
6
|
+
gem "bundler", "< 2"
|
7
|
+
gem "climate_control", "~> 0.2"
|
9
8
|
gem "pry"
|
10
9
|
gem "pry-byebug"
|
11
10
|
gem "rails", "~> 4.2"
|
12
11
|
gem "responders"
|
13
|
-
gem "
|
12
|
+
gem "rspec"
|
13
|
+
gem "rubocop"
|
14
14
|
gem "sqlite3", "~> 1.3.0"
|
15
|
-
gem "test_overrides"
|
16
15
|
gem "yard"
|
17
16
|
|
18
17
|
group :testapp do
|
19
18
|
gem "bootsnap", ">= 1.1.0", require: false
|
20
|
-
gem "kramdown"
|
21
19
|
gem "listen"
|
22
|
-
gem "RedCloth"
|
23
20
|
end
|
24
21
|
|
25
22
|
gemspec path: "../"
|
data/gemfiles/rails_5.gemfile
CHANGED
@@ -1,25 +1,22 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
# This file was generated by Appraisal
|
4
2
|
|
5
3
|
source "https://rubygems.org"
|
6
|
-
source "https://gem.fury.io/invoca"
|
7
4
|
|
8
5
|
gem "appraisal"
|
6
|
+
gem "bundler", "< 2"
|
7
|
+
gem "climate_control", "~> 0.2"
|
9
8
|
gem "pry"
|
10
9
|
gem "pry-byebug"
|
11
10
|
gem "rails", "~> 5.2"
|
12
11
|
gem "responders"
|
13
|
-
gem "
|
12
|
+
gem "rspec"
|
13
|
+
gem "rubocop"
|
14
14
|
gem "sqlite3"
|
15
|
-
gem "test_overrides"
|
16
15
|
gem "yard"
|
17
16
|
|
18
17
|
group :testapp do
|
19
18
|
gem "bootsnap", ">= 1.1.0", require: false
|
20
|
-
gem "kramdown"
|
21
19
|
gem "listen"
|
22
|
-
gem "RedCloth"
|
23
20
|
end
|
24
21
|
|
25
22
|
gemspec path: "../"
|
data/gemfiles/rails_6.gemfile
CHANGED
@@ -1,25 +1,22 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
# This file was generated by Appraisal
|
4
2
|
|
5
3
|
source "https://rubygems.org"
|
6
|
-
source "https://gem.fury.io/invoca"
|
7
4
|
|
8
5
|
gem "appraisal"
|
6
|
+
gem "bundler", "< 2"
|
7
|
+
gem "climate_control", "~> 0.2"
|
9
8
|
gem "pry"
|
10
9
|
gem "pry-byebug"
|
11
10
|
gem "rails", "~> 6.0"
|
12
11
|
gem "responders"
|
13
|
-
gem "
|
12
|
+
gem "rspec"
|
13
|
+
gem "rubocop"
|
14
14
|
gem "sqlite3"
|
15
|
-
gem "test_overrides"
|
16
15
|
gem "yard"
|
17
16
|
|
18
17
|
group :testapp do
|
19
18
|
gem "bootsnap", ">= 1.1.0", require: false
|
20
|
-
gem "kramdown"
|
21
19
|
gem "listen"
|
22
|
-
gem "RedCloth"
|
23
20
|
end
|
24
21
|
|
25
22
|
gemspec path: "../"
|
data/lib/declare_schema/model.rb
CHANGED
@@ -106,18 +106,9 @@ module DeclareSchema
|
|
106
106
|
end
|
107
107
|
|
108
108
|
# Extend belongs_to so that it creates a FieldSpec for the foreign key
|
109
|
-
def belongs_to(name,
|
110
|
-
if args.size == 0 || (args.size == 1 && args[0].is_a?(Proc))
|
111
|
-
options = {}
|
112
|
-
args.push(options)
|
113
|
-
elsif args.size == 1
|
114
|
-
options = args[0]
|
115
|
-
else
|
116
|
-
options = args[1]
|
117
|
-
end
|
109
|
+
def belongs_to(name, scope = nil, **options, &block)
|
118
110
|
column_options = {}
|
119
111
|
column_options[:null] = options.delete(:null) || false
|
120
|
-
column_options[:comment] = options.delete(:comment) if options.has_key?(:comment)
|
121
112
|
column_options[:default] = options.delete(:default) if options.has_key?(:default)
|
122
113
|
column_options[:limit] = options.delete(:limit) if options.has_key?(:limit)
|
123
114
|
|
@@ -130,20 +121,27 @@ module DeclareSchema
|
|
130
121
|
fk_options[:constraint_name] = options.delete(:constraint) if options.has_key?(:constraint)
|
131
122
|
fk_options[:index_name] = index_options[:name]
|
132
123
|
|
124
|
+
fk = options[:foreign_key]&.to_s || "#{name}_id"
|
125
|
+
|
126
|
+
if !options.has_key?(:optional) && Rails::VERSION::MAJOR >= 5
|
127
|
+
options[:optional] = column_options[:null]
|
128
|
+
end
|
129
|
+
|
133
130
|
fk_options[:dependent] = options.delete(:far_end_dependent) if options.has_key?(:far_end_dependent)
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
131
|
+
|
132
|
+
super(name, scope, options)
|
133
|
+
|
134
|
+
refl = reflections[name.to_s] or raise "Couldn't find reflection #{name} in #{reflections.keys}"
|
135
|
+
fkey = refl.foreign_key or raise "Couldn't find foreign_key for #{name} in #{refl.inspect}"
|
136
|
+
declare_field(fkey.to_sym, :integer, column_options)
|
137
|
+
if refl.options[:polymorphic]
|
138
|
+
foreign_type = options[:foreign_type] || "#{name}_type"
|
139
|
+
declare_polymorphic_type_field(foreign_type, column_options)
|
140
|
+
index([foreign_type, fkey], index_options) if index_options[:name] != false
|
141
|
+
else
|
142
|
+
index(fkey, index_options) if index_options[:name] != false
|
143
|
+
options[:constraint_name] = options
|
144
|
+
constraint(fkey, fk_options) if fk_options[:constraint_name] != false
|
147
145
|
end
|
148
146
|
end
|
149
147
|
|
@@ -53,7 +53,7 @@ module DeclareSchema
|
|
53
53
|
@options[:limit] = self.class.round_up_mysql_text_limit(@options[:limit] || MYSQL_LONGTEXT_LIMIT)
|
54
54
|
end
|
55
55
|
when :string
|
56
|
-
@options[:limit] or raise "limit must be given for :string field #{model}##{@name}: #{@options.inspect}; do you want 255
|
56
|
+
@options[:limit] or raise "limit must be given for :string field #{model}##{@name}: #{@options.inspect}; do you want `limit: 255`?"
|
57
57
|
end
|
58
58
|
@position = position_option || model.field_specs.length
|
59
59
|
end
|
@@ -102,10 +102,6 @@ module DeclareSchema
|
|
102
102
|
@options[:default]
|
103
103
|
end
|
104
104
|
|
105
|
-
def comment
|
106
|
-
@options[:comment]
|
107
|
-
end
|
108
|
-
|
109
105
|
def same_type?(col_spec)
|
110
106
|
type = sql_type
|
111
107
|
normalized_type = TYPE_SYNONYMS[type] || type
|
@@ -115,13 +111,6 @@ module DeclareSchema
|
|
115
111
|
|
116
112
|
def different_to?(col_spec)
|
117
113
|
!same_type?(col_spec) ||
|
118
|
-
# we should be able to use col_spec.comment, but col_spec has
|
119
|
-
# a nil table_name for some strange reason.
|
120
|
-
(model.table_exists? &&
|
121
|
-
ActiveRecord::Base.respond_to?(:column_comment) &&
|
122
|
-
!(col_comment = ActiveRecord::Base.column_comment(col_spec.name, model.table_name)).nil? &&
|
123
|
-
col_comment != comment
|
124
|
-
) ||
|
125
114
|
begin
|
126
115
|
native_type = native_types[type]
|
127
116
|
check_attributes = [:null, :default]
|
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'rails/generators/migration'
|
4
4
|
require 'rails/generators/active_record'
|
5
5
|
require 'generators/declare_schema/support/thor_shell'
|
6
|
+
require 'declare_schema/model/field_spec'
|
6
7
|
|
7
8
|
module DeclareSchema
|
8
9
|
class MigrationGenerator < Rails::Generators::Base
|
@@ -85,7 +86,7 @@ module DeclareSchema
|
|
85
86
|
@down = down
|
86
87
|
@migration_class_name = final_migration_name.camelize
|
87
88
|
|
88
|
-
migration_template
|
89
|
+
migration_template('migration.rb.erb', "db/migrate/#{final_migration_name.underscore}.rb")
|
89
90
|
if action == 'm'
|
90
91
|
case Rails::VERSION::MAJOR
|
91
92
|
when 4
|
@@ -117,14 +118,13 @@ module DeclareSchema
|
|
117
118
|
ActiveRecord::Migrator.new(:up, migrations, ActiveRecord::SchemaMigration).pending_migrations
|
118
119
|
end
|
119
120
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
121
|
+
pending_migrations.any?.tap do |any|
|
122
|
+
if any
|
123
|
+
say "You have #{pending_migrations.size} pending migration#{'s' if pending_migrations.size > 1}:"
|
124
|
+
pending_migrations.each do |pending_migration|
|
125
|
+
say format(' %4d %s', pending_migration.version, pending_migration.name)
|
126
|
+
end
|
124
127
|
end
|
125
|
-
true
|
126
|
-
else
|
127
|
-
false
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
@@ -138,10 +138,10 @@ module DeclareSchema
|
|
138
138
|
loop do
|
139
139
|
if rename_to_choices.empty?
|
140
140
|
say "\nCONFIRM DROP! #{kind_str} #{name_prefix}#{t}"
|
141
|
-
resp = ask("Enter 'drop #{t}' to confirm or press enter to keep:")
|
142
|
-
if resp
|
141
|
+
resp = ask("Enter 'drop #{t}' to confirm or press enter to keep:").strip
|
142
|
+
if resp == "drop #{t}"
|
143
143
|
break
|
144
|
-
elsif resp.
|
144
|
+
elsif resp.empty?
|
145
145
|
to_drop.delete(t)
|
146
146
|
break
|
147
147
|
else
|
@@ -150,8 +150,7 @@ module DeclareSchema
|
|
150
150
|
else
|
151
151
|
say "\nDROP, RENAME or KEEP?: #{kind_str} #{name_prefix}#{t}"
|
152
152
|
say "Rename choices: #{to_create * ', '}"
|
153
|
-
resp = ask
|
154
|
-
resp = resp.strip
|
153
|
+
resp = ask("Enter either 'drop #{t}' or one of the rename choices or press enter to keep:").strip
|
155
154
|
|
156
155
|
if resp == "drop #{t}"
|
157
156
|
# Leave things as they are
|
@@ -182,3 +181,11 @@ module DeclareSchema
|
|
182
181
|
end
|
183
182
|
end
|
184
183
|
end
|
184
|
+
|
185
|
+
module Generators
|
186
|
+
module DeclareSchema
|
187
|
+
module Migration
|
188
|
+
MigrationGenerator = ::DeclareSchema::MigrationGenerator
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|