schema_dev 3.13.0 → 4.1.0

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.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/prs.yml +49 -0
  3. data/.simplecov +20 -0
  4. data/Gemfile +2 -0
  5. data/README.md +12 -10
  6. data/Rakefile +3 -5
  7. data/bin/schema_dev +25 -21
  8. data/lib/schema_dev/config.rb +62 -44
  9. data/lib/schema_dev/executor.rb +9 -8
  10. data/lib/schema_dev/gem.rb +45 -37
  11. data/lib/schema_dev/gemfile_selector.rb +7 -7
  12. data/lib/schema_dev/gemfiles.rb +6 -5
  13. data/lib/schema_dev/github_actions.rb +266 -0
  14. data/lib/schema_dev/matrix_executor.rb +4 -2
  15. data/lib/schema_dev/readme.rb +17 -10
  16. data/lib/schema_dev/rspec/db.rb +44 -33
  17. data/lib/schema_dev/rspec.rb +4 -9
  18. data/lib/schema_dev/ruby_selector.rb +29 -14
  19. data/lib/schema_dev/runner.rb +14 -10
  20. data/lib/schema_dev/tasks/dbms.rb +34 -26
  21. data/lib/schema_dev/tasks.rb +2 -3
  22. data/lib/schema_dev/templates.rb +5 -5
  23. data/lib/schema_dev/version.rb +3 -1
  24. data/lib/schema_dev.rb +3 -1
  25. data/schema_dev.gemspec +24 -25
  26. data/spec/schema_dev/config_spec.rb +60 -0
  27. data/spec/schema_dev/gem_spec.rb +74 -0
  28. data/spec/schema_dev/gemfile_selector_spec.rb +11 -0
  29. data/spec/schema_dev/gemfiles_spec.rb +41 -0
  30. data/spec/schema_dev/github_actions_spec.rb +818 -0
  31. data/spec/schema_dev/runner_spec.rb +103 -0
  32. data/spec/spec_helper.rb +5 -6
  33. data/templates/README/uses.schema_dev.md.erb +1 -2
  34. data/templates/gem/GEM_NAME.gemspec.erb +15 -14
  35. data/templates/gem/Gemfile.erb +2 -0
  36. data/templates/gem/Gemfile.local.erb +2 -0
  37. data/templates/gem/README.md.erb +1 -2
  38. data/templates/gem/Rakefile.erb +2 -0
  39. data/templates/gem/schema_dev.yml.erb +5 -2
  40. data/templates/gem/simplecov.erb +20 -0
  41. data/templates/gemfiles/Gemfile.base.erb +1 -1
  42. data/templates/gemfiles/activerecord-5.2/Gemfile.base.erb +2 -1
  43. data/templates/gemfiles/activerecord-5.2/Gemfile.mysql2.erb +2 -2
  44. data/templates/gemfiles/activerecord-5.2/Gemfile.postgresql.erb +2 -2
  45. data/templates/gemfiles/activerecord-5.2/Gemfile.sqlite3.erb +3 -3
  46. data/templates/gemfiles/activerecord-6.0/Gemfile.base.erb +4 -0
  47. data/templates/gemfiles/activerecord-6.0/Gemfile.mysql2.erb +10 -0
  48. data/templates/gemfiles/activerecord-6.0/Gemfile.postgresql.erb +10 -0
  49. data/templates/gemfiles/{activerecord-3.2 → activerecord-6.0}/Gemfile.sqlite3.erb +2 -2
  50. data/templates/gemfiles/activerecord-6.1/Gemfile.base.erb +4 -0
  51. data/templates/gemfiles/activerecord-6.1/Gemfile.mysql2.erb +10 -0
  52. data/templates/gemfiles/activerecord-6.1/Gemfile.postgresql.erb +10 -0
  53. data/templates/gemfiles/{activerecord-4.0 → activerecord-6.1}/Gemfile.sqlite3.erb +2 -2
  54. metadata +56 -156
  55. data/.travis.yml +0 -4
  56. data/lib/schema_dev/tasks/coveralls.rb +0 -3
  57. data/lib/schema_dev/travis.rb +0 -118
  58. data/spec/config_spec.rb +0 -61
  59. data/spec/gem_spec.rb +0 -77
  60. data/spec/gemfile_sepector_spec.rb +0 -10
  61. data/spec/gemfiles_spec.rb +0 -43
  62. data/spec/runner_spec.rb +0 -106
  63. data/spec/travis_spec.rb +0 -298
  64. data/templates/gemfiles/activerecord-3.2/Gemfile.base.erb +0 -3
  65. data/templates/gemfiles/activerecord-3.2/Gemfile.mysql.erb +0 -10
  66. data/templates/gemfiles/activerecord-3.2/Gemfile.mysql2.erb +0 -10
  67. data/templates/gemfiles/activerecord-3.2/Gemfile.postgresql.erb +0 -10
  68. data/templates/gemfiles/activerecord-4.0/Gemfile.base.erb +0 -3
  69. data/templates/gemfiles/activerecord-4.0/Gemfile.mysql2.erb +0 -10
  70. data/templates/gemfiles/activerecord-4.0/Gemfile.postgresql.erb +0 -10
  71. data/templates/gemfiles/activerecord-4.1/Gemfile.base.erb +0 -3
  72. data/templates/gemfiles/activerecord-4.1/Gemfile.mysql2.erb +0 -10
  73. data/templates/gemfiles/activerecord-4.1/Gemfile.postgresql.erb +0 -10
  74. data/templates/gemfiles/activerecord-4.1/Gemfile.sqlite3.erb +0 -10
  75. data/templates/gemfiles/activerecord-4.2/Gemfile.base.erb +0 -3
  76. data/templates/gemfiles/activerecord-4.2/Gemfile.mysql2.erb +0 -10
  77. data/templates/gemfiles/activerecord-4.2/Gemfile.postgresql.erb +0 -10
  78. data/templates/gemfiles/activerecord-4.2/Gemfile.sqlite3.erb +0 -10
  79. data/templates/gemfiles/activerecord-4.2.0/Gemfile.base.erb +0 -3
  80. data/templates/gemfiles/activerecord-4.2.0/Gemfile.mysql2.erb +0 -10
  81. data/templates/gemfiles/activerecord-4.2.0/Gemfile.postgresql.erb +0 -10
  82. data/templates/gemfiles/activerecord-4.2.0/Gemfile.sqlite3.erb +0 -10
  83. data/templates/gemfiles/activerecord-4.2.1/Gemfile.base.erb +0 -3
  84. data/templates/gemfiles/activerecord-4.2.1/Gemfile.mysql2.erb +0 -10
  85. data/templates/gemfiles/activerecord-4.2.1/Gemfile.postgresql.erb +0 -10
  86. data/templates/gemfiles/activerecord-4.2.1/Gemfile.sqlite3.erb +0 -10
  87. data/templates/gemfiles/activerecord-4.2.6/Gemfile.base.erb +0 -3
  88. data/templates/gemfiles/activerecord-4.2.6/Gemfile.mysql2.erb +0 -10
  89. data/templates/gemfiles/activerecord-4.2.6/Gemfile.postgresql.erb +0 -10
  90. data/templates/gemfiles/activerecord-4.2.6/Gemfile.sqlite3.erb +0 -10
  91. data/templates/gemfiles/activerecord-5.0/Gemfile.base.erb +0 -3
  92. data/templates/gemfiles/activerecord-5.0/Gemfile.mysql2.erb +0 -10
  93. data/templates/gemfiles/activerecord-5.0/Gemfile.postgresql.erb +0 -10
  94. data/templates/gemfiles/activerecord-5.0/Gemfile.sqlite3.erb +0 -10
  95. data/templates/gemfiles/activerecord-5.0.0/Gemfile.base.erb +0 -3
  96. data/templates/gemfiles/activerecord-5.0.0/Gemfile.mysql2.erb +0 -10
  97. data/templates/gemfiles/activerecord-5.0.0/Gemfile.postgresql.erb +0 -10
  98. data/templates/gemfiles/activerecord-5.0.0/Gemfile.sqlite3.erb +0 -10
  99. data/templates/gemfiles/activerecord-5.0.1/Gemfile.base.erb +0 -3
  100. data/templates/gemfiles/activerecord-5.0.1/Gemfile.mysql2.erb +0 -10
  101. data/templates/gemfiles/activerecord-5.0.1/Gemfile.postgresql.erb +0 -10
  102. data/templates/gemfiles/activerecord-5.0.1/Gemfile.sqlite3.erb +0 -10
  103. data/templates/gemfiles/activerecord-5.0.2/Gemfile.base.erb +0 -3
  104. data/templates/gemfiles/activerecord-5.0.2/Gemfile.mysql2.erb +0 -10
  105. data/templates/gemfiles/activerecord-5.0.2/Gemfile.postgresql.erb +0 -10
  106. data/templates/gemfiles/activerecord-5.0.2/Gemfile.sqlite3.erb +0 -10
  107. data/templates/gemfiles/activerecord-5.0.3/Gemfile.base.erb +0 -3
  108. data/templates/gemfiles/activerecord-5.0.3/Gemfile.mysql2.erb +0 -10
  109. data/templates/gemfiles/activerecord-5.0.3/Gemfile.postgresql.erb +0 -10
  110. data/templates/gemfiles/activerecord-5.0.3/Gemfile.sqlite3.erb +0 -10
  111. data/templates/gemfiles/activerecord-5.1/Gemfile.base.erb +0 -3
  112. data/templates/gemfiles/activerecord-5.1/Gemfile.mysql2.erb +0 -10
  113. data/templates/gemfiles/activerecord-5.1/Gemfile.postgresql.erb +0 -10
  114. data/templates/gemfiles/activerecord-5.1/Gemfile.sqlite3.erb +0 -10
  115. data/templates/gemfiles/activerecord-5.1.0/Gemfile.base.erb +0 -3
  116. data/templates/gemfiles/activerecord-5.1.0/Gemfile.mysql2.erb +0 -10
  117. data/templates/gemfiles/activerecord-5.1.0/Gemfile.postgresql.erb +0 -10
  118. data/templates/gemfiles/activerecord-5.1.0/Gemfile.sqlite3.erb +0 -10
  119. data/templates/gemfiles/activerecord-5.1.1/Gemfile.base.erb +0 -3
  120. data/templates/gemfiles/activerecord-5.1.1/Gemfile.mysql2.erb +0 -10
  121. data/templates/gemfiles/activerecord-5.1.1/Gemfile.postgresql.erb +0 -10
  122. data/templates/gemfiles/activerecord-5.1.1/Gemfile.sqlite3.erb +0 -10
  123. data/templates/gemfiles/activerecord-edge/Gemfile.base.erb +0 -3
  124. data/templates/gemfiles/activerecord-edge/Gemfile.mysql2.erb +0 -10
  125. data/templates/gemfiles/activerecord-edge/Gemfile.postgresql.erb +0 -10
  126. data/templates/gemfiles/activerecord-edge/Gemfile.sqlite3.erb +0 -10
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "5.0.0"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "5.0.1"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "5.0.2"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "5.0.3"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "~> 5.1.0"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "5.1.0"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "5.1.1"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg", "< 1"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end
@@ -1,3 +0,0 @@
1
- eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
-
3
- gem "activerecord", "~> 4.0.0"
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "mysql2"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcmysql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "pg"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcpostgresql-adapter'
10
- end
@@ -1,10 +0,0 @@
1
- require "pathname"
2
- eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
-
4
- platform :ruby do
5
- gem "sqlite3"
6
- end
7
-
8
- platform :jruby do
9
- gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
- end