edgestitch 0.1.0 → 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5dc175dee8364f977b9ba83df8cc9945b1931c08020620d390d38d3aaeae8fad
4
- data.tar.gz: 3bba36bddf299d60b90195027d3b8454ade141f29b852f9300324761f7d18e66
3
+ metadata.gz: 01e5bf6fb9d9a79f31d499115c92f7c09c2df3528dc8431a4fb6a4befe594d3f
4
+ data.tar.gz: 3f4d63741bcbfecde1b6b2232db4e1091559882372c61131395b83d65eeabade
5
5
  SHA512:
6
- metadata.gz: ff5f823716dc7ec8ffb0fa9be01ade5386fcf6ac123e539a16a7706d5b4557172eccdd344e71075ca2721a48a7b4c30f955e3cd6f1d9257c80d73ef94781cbd6
7
- data.tar.gz: '050108e3c5dd92310aaf907df4b9cb7360422fcef56dfd1bcfb3b706d93b86501a3c415fb0cf669cb1601deb7c5e6d4c281438a11cc236b05f459658245b9f67'
6
+ metadata.gz: 2fd180eb4d4f2a45f028708f660f2cb16387f1a04871e84c270d4d9397069e91cf0555540fe6a85a073ac7e0aa9393ee4e67131f141e73a3de387d18478e3ac8
7
+ data.tar.gz: 0e1cc6cad4f9cc428236c51ddee089642237ecf8d33e4dce289fb24a4d068d4c88a49d6afa2bab92fca3b71721a7fecef01a46986ec20d24f9e5bc85e155e7a6
data/edgestitch.gemspec CHANGED
@@ -35,8 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "bundler", "~> 2.1"
36
36
  spec.add_development_dependency "license_finder", ">= 7.0"
37
37
  spec.add_development_dependency "mysql2", "0.5.3"
38
- spec.add_development_dependency "pry-byebug", "3.9.0"
39
- spec.add_development_dependency "rails", ">= 5.2.8.1"
38
+ spec.add_development_dependency "rails", ">= 5.2.8.1", "< 7.1"
40
39
  spec.add_development_dependency "rake", "~> 13.0"
41
40
  spec.add_development_dependency "rspec", "~> 3.0"
42
41
  spec.add_development_dependency "rspec-rails", "~> 5.1.2"
@@ -50,7 +50,7 @@ module Edgestitch
50
50
  return if tables.empty?
51
51
 
52
52
  self.class.sanitize_sql(
53
- execute("--compact", "--skip-lock-tables", "--single-transaction", "--no-data",
53
+ execute("--compact", "--skip-lock-tables", "--no-data", "--set-gtid-purged=OFF",
54
54
  "--column-statistics=0", *tables)
55
55
  )
56
56
  end
@@ -66,7 +66,7 @@ module Edgestitch
66
66
  def export_migrations(migrations)
67
67
  migrations.in_groups_of(50, false).map do |versions|
68
68
  execute(
69
- "--compact", "--skip-lock-tables", "--single-transaction",
69
+ "--compact", "--skip-lock-tables", "--set-gtid-purged=OFF",
70
70
  "--no-create-info", "--column-statistics=0",
71
71
  "schema_migrations",
72
72
  "-w", "version IN (#{versions.join(',')})"
@@ -31,9 +31,11 @@ module Edgestitch
31
31
  # - db:schema:load
32
32
  #
33
33
  # @param namespace [String] namespace where the task will run [default: db:stitch]
34
+ # @param enhance_rails [Boolean] whether edgestitch should enhance the above tasks or not [default: true]
34
35
  # @return [Rake::Task]
35
- def define_stitch(namespace = "db:stitch")
36
- enhance(namespace, "db:prepare", "db:structure:load", "db:schema:load")
36
+ def define_stitch(namespace = "db:stitch", enhance_rails: true)
37
+ enhance(namespace, "db:prepare", "db:structure:load", "db:schema:load") if enhance_rails
38
+
37
39
  desc "Create structure.sql for an app based on all loaded engines' structure-self.sql"
38
40
  task namespace => [:environment] do |_task, _args|
39
41
  ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).each do |db_config|
@@ -56,10 +58,13 @@ module Edgestitch
56
58
  # @param engine [Class<Rails::Engine>] target class of the task
57
59
  # @param namespace [String] the namespace where the target will be generated [default: db:stitch]
58
60
  # @param name [String] the name of the task within the given namespace [default: engine.engine_name]
61
+ # @param enhance_rails [Boolean] whether edgestitch should enhance the above tasks or not [default: true]
59
62
  # @return [Rake::Task]
60
- def define_engine(engine, namespace: "db:stitch", name: engine.engine_name)
61
- enhance("#{namespace}:#{name}", "db:structure:dump", "app:db:structure:dump", "db:schema:dump",
62
- "app:db:schema:dump")
63
+ def define_engine(engine, namespace: "db:stitch", name: engine.engine_name, enhance_rails: true) # rubocop:disable Metrics/MethodLength
64
+ if enhance_rails
65
+ enhance("#{namespace}:#{name}", "db:structure:dump", "app:db:structure:dump", "db:schema:dump",
66
+ "app:db:schema:dump")
67
+ end
63
68
 
64
69
  desc "Create structure-self.sql for an engine"
65
70
  task "#{namespace}:#{name}" => [:environment] do |_, _args|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Edgestitch
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edgestitch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Palhares
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-27 00:00:00.000000000 Z
11
+ date: 2023-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.5.3
55
- - !ruby/object:Gem::Dependency
56
- name: pry-byebug
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 3.9.0
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '='
67
- - !ruby/object:Gem::Version
68
- version: 3.9.0
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rails
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -73,6 +59,9 @@ dependencies:
73
59
  - - ">="
74
60
  - !ruby/object:Gem::Version
75
61
  version: 5.2.8.1
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '7.1'
76
65
  type: :development
77
66
  prerelease: false
78
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -80,6 +69,9 @@ dependencies:
80
69
  - - ">="
81
70
  - !ruby/object:Gem::Version
82
71
  version: 5.2.8.1
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '7.1'
83
75
  - !ruby/object:Gem::Dependency
84
76
  name: rake
85
77
  requirement: !ruby/object:Gem::Requirement
@@ -212,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
204
  - !ruby/object:Gem::Version
213
205
  version: '0'
214
206
  requirements: []
215
- rubygems_version: 3.3.26
207
+ rubygems_version: 3.4.1
216
208
  signing_key:
217
209
  specification_version: 4
218
210
  summary: Edgestitch allows engines to define partial structure-self.sql files to be