data_migrate 9.0.0 → 11.3.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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +79 -0
  3. data/README.md +31 -19
  4. data/lib/data_migrate/config.rb +2 -1
  5. data/lib/data_migrate/{data_migrator_five.rb → data_migrator.rb} +15 -35
  6. data/lib/data_migrate/data_schema.rb +8 -8
  7. data/lib/data_migrate/data_schema_migration.rb +24 -7
  8. data/lib/data_migrate/database_configurations_wrapper.rb +11 -0
  9. data/lib/data_migrate/database_tasks.rb +227 -96
  10. data/lib/data_migrate/migration_context.rb +11 -8
  11. data/lib/data_migrate/rails_helper.rb +91 -0
  12. data/lib/data_migrate/schema_dumper.rb +1 -1
  13. data/lib/data_migrate/{schema_migration_six.rb → schema_migration.rb} +7 -4
  14. data/lib/data_migrate/{status_service_five.rb → status_service.rb} +14 -8
  15. data/lib/data_migrate/tasks/data_migrate_tasks.rb +24 -43
  16. data/lib/data_migrate/version.rb +1 -1
  17. data/lib/data_migrate.rb +5 -9
  18. data/lib/generators/data_migration/data_migration_generator.rb +2 -1
  19. data/tasks/databases.rake +23 -58
  20. metadata +19 -72
  21. data/.github/workflows/build.yml +0 -35
  22. data/.github/workflows/gempush.yml +0 -29
  23. data/.gitignore +0 -11
  24. data/.hound.yml +0 -4
  25. data/.overcommit.yml +0 -21
  26. data/.rbenv-gemsets +0 -2
  27. data/.rspec +0 -3
  28. data/.rubocop.yml +0 -2
  29. data/.ruby-style.yml +0 -1061
  30. data/.ruby-version +0 -1
  31. data/.travis.yml +0 -17
  32. data/Appraisals +0 -15
  33. data/Gemfile +0 -4
  34. data/Gemfile.rails5.2 +0 -10
  35. data/Gemfile.rails6.1 +0 -11
  36. data/Rakefile +0 -2
  37. data/data_migrate.gemspec +0 -41
  38. data/gemfiles/rails_5.2.gemfile +0 -8
  39. data/gemfiles/rails_6.0.gemfile +0 -8
  40. data/gemfiles/rails_6.1.gemfile +0 -8
  41. data/gemfiles/rails_7.0.gemfile +0 -8
  42. data/lib/data_migrate/legacy_migrator.rb +0 -22
  43. data/lib/data_migrate/schema_migration_five.rb +0 -31
  44. data/screenshot.png +0 -0
  45. data/spec/data_migrate/config_spec.rb +0 -66
  46. data/spec/data_migrate/data_migrator_spec.rb +0 -101
  47. data/spec/data_migrate/data_schema_migration_spec.rb +0 -16
  48. data/spec/data_migrate/data_spec.rb +0 -85
  49. data/spec/data_migrate/database_tasks_spec.rb +0 -138
  50. data/spec/data_migrate/legacy_migrator_spec.rb +0 -50
  51. data/spec/data_migrate/migration.rb +0 -19
  52. data/spec/data_migrate/migration_context_spec.rb +0 -127
  53. data/spec/data_migrate/schema_dumper_spec.rb +0 -46
  54. data/spec/data_migrate/schema_migration_spec.rb +0 -99
  55. data/spec/data_migrate/status_service_spec.rb +0 -102
  56. data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +0 -164
  57. data/spec/db/6.0/20091231235959_some_name.rb +0 -9
  58. data/spec/db/6.0/20171231235959_super_update.rb +0 -9
  59. data/spec/db/data/20091231235959_some_name.rb +0 -9
  60. data/spec/db/data/20171231235959_super_update.rb +0 -9
  61. data/spec/db/data/20181128000207_excluded_file.rb.other_ext +0 -1
  62. data/spec/db/data/partial_schema/data_schema.rb +0 -1
  63. data/spec/db/data/partial_schema/test_data_schema.rb +0 -1
  64. data/spec/db/data/schema/data_schema.rb +0 -1
  65. data/spec/db/data/schema/test_data_schema.rb +0 -1
  66. data/spec/db/data-6.0/20091231235959_some_name.rb +0 -9
  67. data/spec/db/data-6.0/20171231235959_super_update.rb +0 -9
  68. data/spec/db/data-6.0/20181128000207_excluded_file.rb.other_ext +0 -1
  69. data/spec/db/migrate/5.2/20131111111111_late_migration.rb +0 -9
  70. data/spec/db/migrate/5.2/20202020202011_db_migration.rb +0 -9
  71. data/spec/db/migrate/6.0/20131111111111_late_migration.rb +0 -9
  72. data/spec/db/migrate/6.0/20202020202011_db_migration.rb +0 -9
  73. data/spec/generators/data_migration/data_migration_generator_spec.rb +0 -101
  74. data/spec/spec_helper.rb +0 -34
  75. data/tasks/.gitkeep +0 -0
@@ -1,101 +0,0 @@
1
- require 'spec_helper'
2
- require 'rails/generators'
3
- require 'rails/generators/migration'
4
- require 'generators/data_migration/data_migration_generator'
5
-
6
- describe DataMigrate::Generators::DataMigrationGenerator do
7
- subject { DataMigrate::Generators::DataMigrationGenerator }
8
-
9
- describe :next_migration_number do
10
- it "next migration" do
11
- Timecop.freeze("2016-12-03 22:15:26 -0800") do
12
- if ActiveRecord.version >= Gem::Version.new('7.0')
13
- expect(ActiveRecord).to receive(:timestamped_migrations) { true }
14
- else
15
- expect(ActiveRecord::Base).to receive(:timestamped_migrations) { true }
16
- end
17
- expect(subject.next_migration_number(1).to_s).to eq("20161204061526")
18
- end
19
- end
20
- end
21
-
22
- describe :migration_base_class_name do
23
- subject { generator.send(:migration_base_class_name) }
24
-
25
- let(:generator) { DataMigrate::Generators::DataMigrationGenerator.new(['my_migration']) }
26
-
27
- it "returns the correct base class name" do
28
- is_expected.to eq("ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]")
29
- end
30
- end
31
-
32
- describe :create_data_migration do
33
- subject { DataMigrate::Generators::DataMigrationGenerator.new(['my_migration']) }
34
-
35
- let(:data_migrations_file_path) { 'abc/my_migration.rb' }
36
-
37
- context 'when custom data migrations path has a trailing slash' do
38
- before do
39
- DataMigrate.config.data_migrations_path = 'abc/'
40
- end
41
-
42
- it 'returns correct file path' do
43
- is_expected.to receive(:migration_template).with(
44
- 'data_migration.rb', data_migrations_file_path
45
- )
46
-
47
- subject.create_data_migration
48
- end
49
- end
50
-
51
- context 'when custom data migrations path does not have a trailing slash' do
52
- before do
53
- DataMigrate.config.data_migrations_path = 'abc'
54
- end
55
-
56
- it 'returns correct file path' do
57
- is_expected.to receive(:migration_template).with(
58
- 'data_migration.rb', data_migrations_file_path
59
- )
60
-
61
- subject.create_data_migration
62
- end
63
- end
64
- end
65
-
66
- describe ".source_root" do
67
- subject { described_class.source_root }
68
-
69
- let(:default_source_root) do
70
- File.expand_path(
71
- File.dirname(File.join(DataMigrate.root, "generators", "data_migration", "templates", "data_migration.rb"))
72
- )
73
- end
74
-
75
- it { is_expected.to eq default_source_root }
76
-
77
- context "when DateMigrate.config.data_template_path is set" do
78
- before do
79
- @before = DataMigrate.config.data_template_path
80
- DataMigrate.configure do |config|
81
- config.data_template_path = data_template_path
82
- end
83
- end
84
-
85
- let(:data_template_path) do
86
- File.join(DataMigrate.root, "generators", "data_migration", "templates", "data_migration.rb")
87
- end
88
- let(:expected_source_root) { File.dirname(data_template_path) }
89
-
90
- after do
91
- DataMigrate.configure do |config|
92
- config.data_template_path = @before
93
- end
94
- end
95
-
96
- it "reads directory from config data template path" do
97
- is_expected.to eq expected_source_root
98
- end
99
- end
100
- end
101
- end
data/spec/spec_helper.rb DELETED
@@ -1,34 +0,0 @@
1
- require 'rspec'
2
- require 'rails'
3
- require 'sqlite3'
4
- require 'data_migrate'
5
- require 'pry'
6
- require 'timecop'
7
-
8
- RSpec.configure do |config|
9
- config.mock_with :rspec do |mocks|
10
- mocks.verify_partial_doubles = true
11
- end
12
-
13
- config.after(:each) do
14
- DataMigrate.configure do |config|
15
- config.data_migrations_path = @prev_data_migrations_path
16
- end
17
- end
18
-
19
- config.before(:each) do |example|
20
- if example.metadata[:no_override]
21
- else
22
- @prev_data_migrations_path = DataMigrate.config.data_migrations_path
23
- if Rails::VERSION::MAJOR == 5
24
- DataMigrate.configure do |config|
25
- config.data_migrations_path = "spec/db/data"
26
- end
27
- else
28
- DataMigrate.configure do |config|
29
- config.data_migrations_path = "spec/db/6.0"
30
- end
31
- end
32
- end
33
- end
34
- end
data/tasks/.gitkeep DELETED
File without changes