data_migrate 9.4.2 → 11.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +25 -2
  3. data/README.md +20 -13
  4. data/lib/data_migrate/data_migrator.rb +1 -1
  5. data/lib/data_migrate/data_schema.rb +6 -6
  6. data/lib/data_migrate/database_tasks.rb +58 -21
  7. data/lib/data_migrate/rails_helper.rb +15 -3
  8. data/lib/data_migrate/tasks/data_migrate_tasks.rb +8 -6
  9. data/lib/data_migrate/version.rb +1 -1
  10. data/lib/generators/data_migration/data_migration_generator.rb +2 -1
  11. metadata +2 -47
  12. data/.github/workflows/build.yml +0 -35
  13. data/.github/workflows/gempush.yml +0 -28
  14. data/.gitignore +0 -12
  15. data/.hound.yml +0 -4
  16. data/.overcommit.yml +0 -21
  17. data/.rbenv-gemsets +0 -2
  18. data/.rspec +0 -3
  19. data/.rubocop.yml +0 -2
  20. data/.ruby-style.yml +0 -1061
  21. data/Appraisals +0 -11
  22. data/Gemfile +0 -3
  23. data/Gemfile.lock +0 -184
  24. data/Rakefile +0 -2
  25. data/data_migrate.gemspec +0 -41
  26. data/gemfiles/rails_6.1.gemfile +0 -7
  27. data/gemfiles/rails_6.1.gemfile.lock +0 -229
  28. data/gemfiles/rails_7.0.gemfile +0 -7
  29. data/gemfiles/rails_7.0.gemfile.lock +0 -230
  30. data/gemfiles/rails_7.1.gemfile +0 -7
  31. data/gemfiles/rails_7.1.gemfile.lock +0 -263
  32. data/lib/data_migrate/test.rb +0 -14
  33. data/screenshot.png +0 -0
  34. data/spec/data_migrate/config_spec.rb +0 -69
  35. data/spec/data_migrate/data_migrator_spec.rb +0 -83
  36. data/spec/data_migrate/data_schema_migration_spec.rb +0 -33
  37. data/spec/data_migrate/data_spec.rb +0 -74
  38. data/spec/data_migrate/database_tasks_spec.rb +0 -105
  39. data/spec/data_migrate/migration.rb +0 -17
  40. data/spec/data_migrate/migration_context_spec.rb +0 -108
  41. data/spec/data_migrate/schema_dumper_spec.rb +0 -36
  42. data/spec/data_migrate/schema_migration_spec.rb +0 -104
  43. data/spec/data_migrate/status_service_spec.rb +0 -76
  44. data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +0 -129
  45. data/spec/db/data/20091231235959_some_name.rb +0 -9
  46. data/spec/db/data/20171231235959_super_update.rb +0 -9
  47. data/spec/db/data/20181128000207_excluded_file.rb.other_ext +0 -1
  48. data/spec/db/data/partial_schema/data_schema.rb +0 -1
  49. data/spec/db/data/partial_schema/test_data_schema.rb +0 -1
  50. data/spec/db/data/schema/data_schema.rb +0 -1
  51. data/spec/db/data/schema/test_data_schema.rb +0 -1
  52. data/spec/db/migrate/20131111111111_late_migration.rb +0 -9
  53. data/spec/db/migrate/20202020202011_db_migration.rb +0 -9
  54. data/spec/generators/data_migration/data_migration_generator_spec.rb +0 -101
  55. data/spec/spec_helper.rb +0 -28
  56. data/tasks/.gitkeep +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b061a1b90d162a48df5225719ec96da94aaa77d0580d952a1ff0f4cb895e452e
4
- data.tar.gz: bc78e03d816377c6a784b8102ce9f6c9504ee4650839436a92b1a949bce6a45d
3
+ metadata.gz: 907383933e031d0a1da7bad6dd3a43807794c0abeb27313af27e59ed8d802f3a
4
+ data.tar.gz: 1ddf826962f7078972ca9a234a723646d7744a41990dbe38550155fc0276fca3
5
5
  SHA512:
6
- metadata.gz: 5c612eefd1985b3935c79c87039f1f67db81088a1984fb4e90d15c361d9c0fd90b9acefaeb131ec4b77f22a56f6524a99444e663b5e2e2a820115864b09471ed
7
- data.tar.gz: b2ce56c6fd8510adb0eb465fc765df93fdce42f6d7f81e809276bbaf29f7e1891dd7638191e395af0afb774f1ced8fc33387a9619b09edf24cde824b03aa00a6
6
+ metadata.gz: e9e79dd56bda8e5f2afecb79f940eb17d7b5439c1d07b38d67943d58fc0ebaf159283d4478ac13925a2ee399097f6825b519052d3fea9f7b04c659a98647e75f
7
+ data.tar.gz: '0959a1bcf969cbc7834c839eca029d1416ff287ea2927a8ae0493a7880fb6910adea4baf5a2d162bd4cce35f80b610dc2f9d671cf77cf6583a699a96196871de'
data/Changelog.md CHANGED
@@ -1,10 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ # 11.2.0
4
+
5
+ - Remove committed Gemfile.lock, reduce bundled file list when running `gem install` https://github.com/ilyakatz/data-migrate/pull/351
6
+ - [Bump actionpack from 7.1.3.4 to 7.1.4.1](https://github.com/ilyakatz/data-migrate/pull/348)
7
+ - [Bump rexml from 3.3.6 to 3.3.9](https://github.com/ilyakatz/data-migrate/pull/349)
8
+ - Fix db_config_with_versions arity change and backport https://github.com/ilyakatz/data-migrate/pull/337
9
+
10
+ # 11.1.0
11
+ - Allow multiple data migration paths https://github.com/ilyakatz/data-migrate/pull/331
12
+ - Fix db:prepare:with_data task on [Rails 7.2](https://github.com/ilyakatz/data-migrate/pull/339)
13
+ - Fix ConnectionPool deprecation warnings on [Rails 7.2](https://github.com/ilyakatz/data-migrate/pull/341)
14
+ - Add Rails 8.0 to testing grounds https://github.com/ilyakatz/data-migrate/pull/341
15
+ - [Bump webrick from 1.8.1 to 1.8.2](https://github.com/ilyakatz/data-migrate/pull/345)
16
+
17
+ # 11.0.0
18
+ - [Update rexml to 3.3.6](https://github.com/ilyakatz/data-migrate/pull/329)
19
+ - Fixes a bug which ignored migrations on [Rails 7.1 and higher](https://github.com/ilyakatz/data-migrate/pull/326)
20
+
21
+ # 11.0.0rc
22
+ - Remove Ruby 3.0 from build matrix
23
+ - Support Rails 7.2.0 https://github.com/ilyakatz/data-migrate/pull/312
24
+ - Update gemfile.lock builds
25
+
3
26
  ## 9.4.2
4
- - Fix db:prepare:with_data task
27
+ - Fix db:prepare:with_data task
5
28
 
6
29
  ## 9.4.1
7
- - Add db:prepare task
30
+ - Add db:prepare task
8
31
 
9
32
  ## 9.4.0
10
33
  - Reset model schema cache before each data migration https://github.com/ilyakatz/data-migrate/pull/307
data/README.md CHANGED
@@ -36,8 +36,13 @@ table to track all migrations.
36
36
 
37
37
  ## Rails Support
38
38
 
39
- Support Rails 6.1 through 7.1
39
+ Support Rails 6.1 through 7.2
40
40
 
41
+ For **Rails 6.0** support, please use gem version `9.1.x`:
42
+
43
+ ```ruby
44
+ gem 'data_migrate', '~> 9.1.0'
45
+ ```
41
46
 
42
47
  #### v1
43
48
 
@@ -86,6 +91,7 @@ You can generate a data migration as you would a schema migration:
86
91
  rake db:migrate:status:with_data # Display status of data and schema migrations
87
92
  rake db:migrate:up:with_data # Runs the "up" for a given migration VERSION
88
93
  rake db:migrate:with_data # Migrate the database data and schema (options: VERSION=x, VERBOSE=false)
94
+ rake db:prepare:with_data # Runs setup if database does not exist, or runs data and schema migrations if it does
89
95
  rake db:rollback:with_data # Rolls the schema back to the previous version (specify steps w/ STEP=n)
90
96
  rake db:schema:load:with_data # Load both schema.rb and data_schema.rb file into the database
91
97
  rake db:structure:load:with_data # Load both structure.sql and data_schema.rb file into the database
@@ -138,19 +144,12 @@ From now on capistrano will run `rake db:migrate:with_data` in every deploy.
138
144
  ## Rails Engines support
139
145
 
140
146
  This gem also has a initial support for adding data migrations inside Rails engines.
141
- Inside the Engine's class initializer (the one that inherits from `Rails::Engine`, usually inside `engines/ENGINE_NAME/lib/engine.rb`) you need to add something like this:
142
-
147
+ Just add your engines directory pattern to data_migrations initializer, for example
148
+ in the case your engines are located in `engines` folder you can set it up like this:
143
149
 
144
150
  ```ruby
145
- module EngineName
146
- class Engine < ::Rails::Engine
147
- initializer :engine_name do |app|
148
- ::DataMigrate.configure do |data_migrate|
149
- default_path = ::DataMigrate::Config.new.data_migrations_path
150
- data_migrate.data_migrations_path = [default_path, root.join('db', 'data')]
151
- end
152
- end
153
- end
151
+ DataMigrate.configure do |config|
152
+ config.data_migrations_path = ['db/data'] + Dir['engines/**/db/data']
154
153
  end
155
154
  ```
156
155
 
@@ -163,12 +162,20 @@ Then, in the Engine's `db/data` folder, you can add data migrations and run them
163
162
  Run tests for a specific version of Rails
164
163
 
165
164
  ```
166
- bundle exec appraisal install
167
165
  bundle exec appraisal rails-6.1 rspec
168
166
  bundle exec appraisal rails-7.0 rspec
169
167
  bundle exec appraisal rails-7.1 rspec
168
+ bundle exec appraisal rails-7.2 rspec
170
169
  ```
171
170
 
171
+ ## Releasing new version
172
+
173
+ 1. Create a new tag, eg `git tag 9.4.1`
174
+ 1. Go to https://github.com/ilyakatz/data-migrate/tags
175
+ 1. Click "Create release" under 9.4.1
176
+ 1. CLick "Generate release notes"
177
+ 1. Click "Publish release"
178
+
172
179
  ## Thanks
173
180
 
174
181
  [Andrew J Vargo](http://github.com/ajvargo) Andrew was the original creator and maintainer of this project!
@@ -12,7 +12,7 @@ module DataMigrate
12
12
 
13
13
  class << self
14
14
  def migrations_paths
15
- [DataMigrate.config.data_migrations_path]
15
+ Array.wrap(DataMigrate.config.data_migrations_path)
16
16
  end
17
17
 
18
18
  def create_data_schema_table
@@ -29,13 +29,13 @@ module DataMigrate
29
29
  end
30
30
 
31
31
  def versions
32
- @versions ||= begin
33
- versions = []
34
- Dir.foreach(DataMigrate::DataMigrator.full_migrations_path) do |file|
35
- match_data = DataMigrate::DataMigrator.match(file)
36
- versions << match_data[1].to_i if match_data
32
+ @versions ||= Set.new.tap do |versions|
33
+ DataMigrate::DataMigrator.migrations_paths.each do |path|
34
+ Dir.foreach(path) do |file|
35
+ match_data = DataMigrate::DataMigrator.match(file)
36
+ versions << match_data[1].to_i if match_data
37
+ end
37
38
  end
38
- versions
39
39
  end
40
40
  end
41
41
 
@@ -10,21 +10,21 @@ module DataMigrate
10
10
  extend self
11
11
 
12
12
  # These method are only introduced in Rails 7.1
13
- unless respond_to?(:with_temporary_connection_for_each)
14
- def with_temporary_connection_for_each(env: ActiveRecord::Tasks::DatabaseTasks.env, name: nil, &block) # :nodoc:
13
+ unless respond_to?(:with_temporary_pool_for_each)
14
+ def with_temporary_pool_for_each(env: ActiveRecord::Tasks::DatabaseTasks.env, name: nil, &block) # :nodoc:
15
15
  if name
16
16
  db_config = ActiveRecord::Base.configurations.configs_for(env_name: env, name: name)
17
- with_temporary_connection(db_config, &block)
17
+ with_temporary_pool(db_config, &block)
18
18
  else
19
19
  ActiveRecord::Base.configurations.configs_for(env_name: env, name: name).each do |db_config|
20
- with_temporary_connection(db_config, &block)
20
+ with_temporary_pool(db_config, &block)
21
21
  end
22
22
  end
23
23
  end
24
24
 
25
- def with_temporary_connection(db_config) # :nodoc:
25
+ def with_temporary_connection(db_config, &block) # :nodoc:
26
26
  with_temporary_pool(db_config) do |pool|
27
- yield pool.connection
27
+ pool.with_connection(&block)
28
28
  end
29
29
  end
30
30
 
@@ -49,8 +49,8 @@ module DataMigrate
49
49
  def db_configs_with_versions
50
50
  db_configs_with_versions = Hash.new { |h, k| h[k] = [] }
51
51
 
52
- with_temporary_connection_for_each do |conn|
53
- db_config = conn.pool.db_config
52
+ with_temporary_pool_for_each do |pool|
53
+ db_config = pool.db_config
54
54
  if db_config.primary?
55
55
  versions_to_run = DataMigrate::DatabaseTasks.pending_data_migrations.map { |m| m[:version] }
56
56
  target_version = ActiveRecord::Tasks::DatabaseTasks.target_version
@@ -179,9 +179,16 @@ module DataMigrate
179
179
 
180
180
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
181
181
 
182
- db_configs = ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env)
182
+ # 7.2 removes the param for db_configs_with_versions in https://github.com/rails/rails/commit/9572fcb4a0bd5396436689a6a42613886871cd81
183
+ # 7.1 stable backported the change in https://github.com/rails/rails/commit/c53ec4b60980036b43528829d4b0b7457f759224
184
+ schema_mapped_versions = if Gem::Dependency.new("railties", ">= 7.1.4").match?("railties", Gem.loaded_specs["railties"].version, true)
185
+ ActiveRecord::Tasks::DatabaseTasks.db_configs_with_versions
186
+ else
187
+ db_configs = ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env)
188
+
189
+ ActiveRecord::Tasks::DatabaseTasks.db_configs_with_versions(db_configs)
190
+ end
183
191
 
184
- schema_mapped_versions = ActiveRecord::Tasks::DatabaseTasks.db_configs_with_versions(db_configs)
185
192
  data_mapped_versions = DataMigrate::DatabaseTasks.db_configs_with_versions
186
193
 
187
194
  mapped_versions = schema_mapped_versions.merge(data_mapped_versions) do |_key, schema_db_configs, data_db_configs|
@@ -209,19 +216,13 @@ module DataMigrate
209
216
  seed = false
210
217
 
211
218
  each_current_configuration(env) do |db_config|
212
- next unless db_config.primary?
219
+ next unless primary?(db_config)
213
220
 
214
- with_temporary_pool(db_config) do
215
- begin
216
- database_initialized = migration_connection.schema_migration.table_exists?
217
- rescue ActiveRecord::NoDatabaseError
221
+ with_temporary_pool(db_config) do |pool|
222
+ unless database_exists?(pool.connection)
218
223
  create(db_config)
219
- retry
220
- end
221
-
222
- unless database_initialized
223
224
  if File.exist?(schema_dump_path(db_config))
224
- load_schema(db_config, ActiveRecord.schema_format, nil)
225
+ load_schema(db_config, schema_format, nil)
225
226
  load_schema_current(
226
227
  :ruby,
227
228
  ENV["DATA_SCHEMA"]
@@ -232,7 +233,7 @@ module DataMigrate
232
233
  end
233
234
 
234
235
  migrate_with_data
235
- if ActiveRecord.dump_schema_after_migration
236
+ if dump_schema_after_migration?
236
237
  dump_schema(db_config)
237
238
  DataMigrate::Tasks::DataMigrateTasks.dump
238
239
  end
@@ -241,5 +242,41 @@ module DataMigrate
241
242
 
242
243
  load_seed if seed
243
244
  end
245
+
246
+ private
247
+
248
+ def database_exists?(connection)
249
+ if connection.respond_to?(:database_exists?) # Rails 7.1+
250
+ connection.database_exists?
251
+ else
252
+ connection.table_exists?(ActiveRecord::SchemaMigration.table_name)
253
+ end
254
+ rescue ActiveRecord::NoDatabaseError
255
+ false
256
+ end
257
+
258
+ def primary?(db_config)
259
+ if db_config.respond_to?(:primary?) # Rails 7.0+
260
+ db_config.primary?
261
+ else
262
+ db_config.name == "primary"
263
+ end
264
+ end
265
+
266
+ def dump_schema_after_migration?
267
+ if ActiveRecord.respond_to?(:dump_schema_after_migration)
268
+ ActiveRecord.dump_schema_after_migration
269
+ else
270
+ ActiveRecord::Base.dump_schema_after_migration
271
+ end
272
+ end
273
+
274
+ def schema_format
275
+ if ActiveRecord.respond_to?(:schema_format)
276
+ ActiveRecord.schema_format
277
+ else
278
+ ActiveRecord::Base.schema_format
279
+ end
280
+ end
244
281
  end
245
282
  end
@@ -1,6 +1,12 @@
1
1
  module DataMigrate
2
2
  class RailsHelper
3
3
  class << self
4
+ def rails_version_equal_to_or_higher_than_7_2
5
+ return @equal_to_or_higher_than_7_2 if defined?(@equal_to_or_higher_than_7_2)
6
+
7
+ @equal_to_or_higher_than_7_2 = Gem::Dependency.new("railties", ">= 7.2.0.alpha").match?("railties", Gem.loaded_specs["railties"].version, true)
8
+ end
9
+
4
10
  def rails_version_equal_to_or_higher_than_7_1
5
11
  return @equal_to_or_higher_than_7_1 if defined?(@equal_to_or_higher_than_7_1)
6
12
 
@@ -14,7 +20,9 @@ module DataMigrate
14
20
  end
15
21
 
16
22
  def internal_metadata
17
- if rails_version_equal_to_or_higher_than_7_1
23
+ if rails_version_equal_to_or_higher_than_7_2
24
+ ActiveRecord::Base.connection_pool.internal_metadata
25
+ elsif rails_version_equal_to_or_higher_than_7_1
18
26
  ActiveRecord::Base.connection.internal_metadata
19
27
  else
20
28
  ActiveRecord::InternalMetadata
@@ -22,7 +30,9 @@ module DataMigrate
22
30
  end
23
31
 
24
32
  def schema_migration
25
- if rails_version_equal_to_or_higher_than_7_1
33
+ if rails_version_equal_to_or_higher_than_7_2
34
+ ActiveRecord::Base.connection_pool.schema_migration
35
+ elsif rails_version_equal_to_or_higher_than_7_1
26
36
  ActiveRecord::Base.connection.schema_migration
27
37
  else
28
38
  ActiveRecord::SchemaMigration
@@ -54,7 +64,9 @@ module DataMigrate
54
64
  end
55
65
 
56
66
  def data_schema_migration
57
- if rails_version_equal_to_or_higher_than_7_1
67
+ if rails_version_equal_to_or_higher_than_7_2
68
+ DataMigrate::DataSchemaMigration.new(ActiveRecord::Tasks::DatabaseTasks.migration_connection_pool)
69
+ elsif rails_version_equal_to_or_higher_than_7_1
58
70
  DataMigrate::DataSchemaMigration.new(ActiveRecord::Tasks::DatabaseTasks.migration_connection)
59
71
  else
60
72
  DataMigrate::DataSchemaMigration
@@ -6,7 +6,7 @@ module DataMigrate
6
6
  extend self
7
7
 
8
8
  def migrations_paths
9
- @migrations_paths ||= DataMigrate.config.data_migrations_path
9
+ @migrations_paths ||= Array.wrap(DataMigrate.config.data_migrations_path)
10
10
  end
11
11
 
12
12
  def dump
@@ -55,11 +55,13 @@ module DataMigrate
55
55
  db_list_schema = DataMigrate::RailsHelper.schema_migration_versions
56
56
  file_list = []
57
57
 
58
- Dir.foreach(File.join(Rails.root, migrations_paths)) do |file|
59
- # only files matching "20091231235959_some_name.rb" pattern
60
- if match_data = /(\d{14})_(.+)\.rb/.match(file)
61
- status = db_list_data.delete(match_data[1]) ? 'up' : 'down'
62
- file_list << [status, match_data[1], match_data[2], 'data']
58
+ migrations_paths.each do |path|
59
+ Dir.foreach(File.join(Rails.root, path)) do |file|
60
+ # only files matching "20091231235959_some_name.rb" pattern
61
+ if match_data = /(\d{14})_(.+)\.rb/.match(file)
62
+ status = db_list_data.delete(match_data[1]) ? 'up' : 'down'
63
+ file_list << [status, match_data[1], match_data[2], 'data']
64
+ end
63
65
  end
64
66
  end
65
67
 
@@ -1,3 +1,3 @@
1
1
  module DataMigrate
2
- VERSION = "9.4.2".freeze
2
+ VERSION = "11.2.0".freeze
3
3
  end
@@ -38,8 +38,9 @@ module DataMigrate
38
38
  File.join(data_migrations_path, "#{file_name}.rb")
39
39
  end
40
40
 
41
+ # Use the first path in the data_migrations_path as the target directory
41
42
  def data_migrations_path
42
- DataMigrate.config.data_migrations_path
43
+ Array.wrap(DataMigrate.config.data_migrations_path).first
43
44
  end
44
45
  end
45
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.4.2
4
+ version: 11.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew J Vargo
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-08-14 00:00:00.000000000 Z
13
+ date: 2024-11-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -189,29 +189,9 @@ executables: []
189
189
  extensions: []
190
190
  extra_rdoc_files: []
191
191
  files:
192
- - ".github/workflows/build.yml"
193
- - ".github/workflows/gempush.yml"
194
- - ".gitignore"
195
- - ".hound.yml"
196
- - ".overcommit.yml"
197
- - ".rbenv-gemsets"
198
- - ".rspec"
199
- - ".rubocop.yml"
200
- - ".ruby-style.yml"
201
- - Appraisals
202
192
  - Changelog.md
203
- - Gemfile
204
- - Gemfile.lock
205
193
  - LICENSE
206
194
  - README.md
207
- - Rakefile
208
- - data_migrate.gemspec
209
- - gemfiles/rails_6.1.gemfile
210
- - gemfiles/rails_6.1.gemfile.lock
211
- - gemfiles/rails_7.0.gemfile
212
- - gemfiles/rails_7.0.gemfile.lock
213
- - gemfiles/rails_7.1.gemfile
214
- - gemfiles/rails_7.1.gemfile.lock
215
195
  - lib/capistrano/data_migrate.rb
216
196
  - lib/capistrano/data_migrate/migrate.rb
217
197
  - lib/data_migrate.rb
@@ -228,36 +208,11 @@ files:
228
208
  - lib/data_migrate/schema_migration.rb
229
209
  - lib/data_migrate/status_service.rb
230
210
  - lib/data_migrate/tasks/data_migrate_tasks.rb
231
- - lib/data_migrate/test.rb
232
211
  - lib/data_migrate/version.rb
233
212
  - lib/generators/data_migrate.rb
234
213
  - lib/generators/data_migration/data_migration_generator.rb
235
214
  - lib/generators/data_migration/templates/data_migration.rb
236
215
  - lib/generators/data_migration/templates/migration.rb
237
- - screenshot.png
238
- - spec/data_migrate/config_spec.rb
239
- - spec/data_migrate/data_migrator_spec.rb
240
- - spec/data_migrate/data_schema_migration_spec.rb
241
- - spec/data_migrate/data_spec.rb
242
- - spec/data_migrate/database_tasks_spec.rb
243
- - spec/data_migrate/migration.rb
244
- - spec/data_migrate/migration_context_spec.rb
245
- - spec/data_migrate/schema_dumper_spec.rb
246
- - spec/data_migrate/schema_migration_spec.rb
247
- - spec/data_migrate/status_service_spec.rb
248
- - spec/data_migrate/tasks/data_migrate_tasks_spec.rb
249
- - spec/db/data/20091231235959_some_name.rb
250
- - spec/db/data/20171231235959_super_update.rb
251
- - spec/db/data/20181128000207_excluded_file.rb.other_ext
252
- - spec/db/data/partial_schema/data_schema.rb
253
- - spec/db/data/partial_schema/test_data_schema.rb
254
- - spec/db/data/schema/data_schema.rb
255
- - spec/db/data/schema/test_data_schema.rb
256
- - spec/db/migrate/20131111111111_late_migration.rb
257
- - spec/db/migrate/20202020202011_db_migration.rb
258
- - spec/generators/data_migration/data_migration_generator_spec.rb
259
- - spec/spec_helper.rb
260
- - tasks/.gitkeep
261
216
  - tasks/databases.rake
262
217
  homepage: https://github.com/ilyakatz/data-migrate
263
218
  licenses:
@@ -1,35 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- - push
5
- - pull_request
6
-
7
- jobs:
8
- test:
9
- strategy:
10
- fail-fast: false
11
- matrix:
12
- os: [ "ubuntu-20.04" ]
13
- ruby:
14
- - '3.0'
15
- - '3.1'
16
- - '3.2'
17
- - '3.3'
18
- gemfile:
19
- - gemfiles/rails_6.1.gemfile
20
- - gemfiles/rails_7.0.gemfile
21
- - gemfiles/rails_7.1.gemfile
22
- runs-on: ubuntu-latest
23
- env:
24
- BUNDLE_GEMFILE: ${{ matrix.gemfile }}
25
- RAILS_ENV: test
26
- steps:
27
- - name: Checkout code
28
- uses: actions/checkout@v3
29
- - name: Set up Ruby
30
- uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: ${{ matrix.ruby }}
33
- bundler-cache: true
34
- - name: Run tests
35
- run: bundle exec rspec
@@ -1,28 +0,0 @@
1
- name: Release Gem
2
-
3
- on:
4
- release:
5
- types: [released]
6
-
7
- jobs:
8
- build:
9
- name: Build + Publish
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - uses: actions/checkout@master
14
- - name: Set up Ruby 3.2
15
- uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: '3.2'
18
-
19
- - name: Publish to RubyGems
20
- run: |
21
- mkdir -p $HOME/.gem
22
- touch $HOME/.gem/credentials
23
- chmod 0600 $HOME/.gem/credentials
24
- printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
25
- gem build *.gemspec
26
- gem push *.gem
27
- env:
28
- GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- /.rvmrc
2
- *.gem
3
- gemfiles/.bundle
4
- spec/db/test.db
5
- spec/db/other_test.db
6
- spec/db/data_schema.rb
7
- .vscode/
8
- .DS_Store
9
- .ruby-gemset
10
- .ruby-version
11
- .idea/
12
- vendor/
data/.hound.yml DELETED
@@ -1,4 +0,0 @@
1
- fail_on_violations: true
2
-
3
- ruby:
4
- config_file: .rubocop.yml
data/.overcommit.yml DELETED
@@ -1,21 +0,0 @@
1
- # Use this file to configure the Overcommit hooks you wish to use. This will
2
- # extend the default configuration defined in:
3
- # https://github.com/brigade/overcommit/blob/master/config/default.yml
4
- #
5
- # At the topmost level of this YAML file is a key representing type of hook
6
- # being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
7
- # customize each hook, such as whether to only run it on certain files (via
8
- # `include`), whether to only display output if it fails (via `quiet`), etc.
9
- #
10
- # For a complete list of hooks, see:
11
- # https://github.com/brigade/overcommit/tree/master/lib/overcommit/hook
12
- #
13
- # For a complete list of options that you can use to customize hooks, see:
14
- # https://github.com/brigade/overcommit#configuration
15
- #
16
- # Uncomment the following lines to make the configuration take effect.
17
-
18
- PreCommit:
19
- RuboCop:
20
- enabled: true
21
- on_warn: fail # Treat all warnings as failures
data/.rbenv-gemsets DELETED
@@ -1,2 +0,0 @@
1
- data-migrate
2
- -global
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --format d
3
-
data/.rubocop.yml DELETED
@@ -1,2 +0,0 @@
1
- # Use same configration as used by HoundCI
2
- inherit_from: .ruby-style.yml