activerecord-snapshot 0.3.3 → 0.6.1.jcprepermissions.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b51b97b1c6cf1f04d2d3c38b89f953e1aafb4e9f
4
- data.tar.gz: 53fbe06bc4d402008d1e6732f8f51daec5c8d7a9
2
+ SHA256:
3
+ metadata.gz: ecd3e15ae6586b3905c854f832bcd25cc5f85dc92e065b0764127fba0bf56331
4
+ data.tar.gz: 4db3d8674e0904efecf22cc7e1091d14f06b6726eff72b4b55837a8a158ee64d
5
5
  SHA512:
6
- metadata.gz: dcec9e3ef3029f1883bdf8973ca00f0e0ea2f06514b61e48ace9236e955175f394bd0abb0ad402fcc4b0843624996a4210af4438212c5722807ade46f49a1cd7
7
- data.tar.gz: 5eee2391e5f2b426cfd1c88833ee6cb4e508eb0cf4ec5b33b83fcbb9c9f837fadb365f087fcdd8f0d43949df6599b1574ed78a2a9bdaebd6affaae0b6c74a15e
6
+ metadata.gz: af758ef076b71ee00025adec5727532f563b0b4cfdcdf53e80dc25c2795ba05fcbd1308518faf1d2ec520bf066ef989eca9b72fa72a9e22088dddfd3008d26ae
7
+ data.tar.gz: 57ff38c3f192c03334790452f29ebb42657c72c357efffe297809ceb6f87bda82474fb2464911e87c110b8749756bc6f7feddbf117fbd83748fe8232656dae46
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # ActiveRecord::Snapshot
2
2
 
3
+ [![Build Status](https://api.travis-ci.org/coverhound/activerecord-snapshot.svg?branch=master)](https://travis-ci.org/coverhound/activerecord-snapshot)
4
+
3
5
  This gem provides rake tasks to create and import MySQL snapshots using S3. This
4
6
  is pretty specialized for how CoverHound uses snapshots.
5
7
 
@@ -52,6 +52,8 @@ module ActiveRecord
52
52
 
53
53
  steps[:import] = "Importing the snapshot into #{config.db.database}"
54
54
  steps[:save] = "Caching the new snapshot version" unless named_version? || tables.present?
55
+ steps[:set_env] = "Setting database environment to #{Rails.env}" if Rails::VERSION::MAJOR >= 5
56
+
55
57
  steps
56
58
  end
57
59
 
@@ -84,6 +86,10 @@ module ActiveRecord
84
86
  Rake::Task["db:schema:dump"].invoke
85
87
  end
86
88
 
89
+ def set_env
90
+ Rake::Task["db:environment:set"].invoke
91
+ end
92
+
87
93
  def save
88
94
  Version.write(version)
89
95
  end
@@ -8,8 +8,8 @@ module ActiveRecord
8
8
  end
9
9
 
10
10
  def dump(tables:, output:)
11
- dump_command("--no-data #{database} > #{output}") &&
12
- dump_command("--quick #{database} #{tables.join(" ")} >> #{output}")
11
+ dump_command("--no-data --set-gtid-purged=OFF #{database} > #{output}") &&
12
+ dump_command("--quick --set-gtid-purged=OFF #{database} #{tables.join(" ")} >> #{output}")
13
13
  end
14
14
 
15
15
  def self.import(*args)
@@ -3,7 +3,7 @@ module ActiveRecord
3
3
  class OpenSSL
4
4
  def self.encrypt(input:, output:)
5
5
  system(<<-SH)
6
- nice openssl aes-256-cbc \\
6
+ nice openssl aes-256-cbc -md sha256 \\
7
7
  -in #{input} \\
8
8
  -out #{output} \\
9
9
  -kfile #{ActiveRecord::Snapshot.config.ssl_key}
@@ -12,7 +12,7 @@ module ActiveRecord
12
12
 
13
13
  def self.decrypt(input:, output:)
14
14
  system(<<-SH)
15
- nice openssl enc -d -aes-256-cbc \\
15
+ nice openssl enc -d -aes-256-cbc -md sha256 \\
16
16
  -in #{input} \\
17
17
  -out #{output} \\
18
18
  -kfile #{ActiveRecord::Snapshot.config.ssl_key}
@@ -20,8 +20,12 @@ module ActiveRecord
20
20
  File.write(path, version)
21
21
  end
22
22
 
23
+ def download
24
+ s3.download_to(path)
25
+ end
26
+
23
27
  def upload
24
- S3.new(directory: config.s3.paths.snapshots).upload(path)
28
+ s3.upload(path)
25
29
  end
26
30
 
27
31
  def filename
@@ -34,6 +38,10 @@ module ActiveRecord
34
38
 
35
39
  private
36
40
 
41
+ def s3
42
+ S3.new(directory: config.s3.paths.snapshots)
43
+ end
44
+
37
45
  def config
38
46
  ActiveRecord::Snapshot.config
39
47
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module Snapshot
3
- VERSION = '0.3.3'
3
+ VERSION = '0.6.1.jcprepermissions.1'
4
4
  end
5
5
  end
@@ -3,6 +3,8 @@ namespace :db do
3
3
  desc "Create a snapshot of the current database and store it in S3"
4
4
  task create: :load do
5
5
  abort "Meant for production only!" unless Rails.env.production?
6
+ ActiveRecord::Snapshot::List.download
7
+ ActiveRecord::Snapshot::Version.download
6
8
  ActiveRecord::Snapshot::Create.call
7
9
  end
8
10
 
@@ -23,7 +25,7 @@ namespace :db do
23
25
 
24
26
  desc "Import production database snapshot."
25
27
  task :import, [:version] => [:load] do |_t, args|
26
- abort "Do not run in prodution mode!" if Rails.env.production?
28
+ abort "Do not run in production mode!" if Rails.env.production?
27
29
  version = args.fetch(:version, "").strip
28
30
  ActiveRecord::Snapshot::Import.call(version: version)
29
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-snapshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.6.1.jcprepermissions.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernardo Farah
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-27 00:00:00.000000000 Z
11
+ date: 2021-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -58,6 +58,26 @@ dependencies:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 3.4.3
61
+ - !ruby/object:Gem::Dependency
62
+ name: mime-types
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '1.16'
68
+ - - "<"
69
+ - !ruby/object:Gem::Version
70
+ version: '4'
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '1.16'
78
+ - - "<"
79
+ - !ruby/object:Gem::Version
80
+ version: '4'
61
81
  - !ruby/object:Gem::Dependency
62
82
  name: mocha
63
83
  requirement: !ruby/object:Gem::Requirement
@@ -149,12 +169,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
169
  version: '0'
150
170
  required_rubygems_version: !ruby/object:Gem::Requirement
151
171
  requirements:
152
- - - ">="
172
+ - - ">"
153
173
  - !ruby/object:Gem::Version
154
- version: '0'
174
+ version: 1.3.1
155
175
  requirements: []
156
- rubyforge_project:
157
- rubygems_version: 2.6.12
176
+ rubygems_version: 3.0.3
158
177
  signing_key:
159
178
  specification_version: 4
160
179
  summary: Snapshots for ActiveRecord