rails_data_fix 0.1.1 → 0.1.5
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 +4 -4
- data/Gemfile.lock +2 -2
- data/README.org +13 -0
- data/lib/data_fix/version.rb +1 -1
- data/lib/{data_fix.rb → rails_data_fix.rb} +0 -0
- data/lib/tasks/data_fix_tasks.rake +28 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 996eb4ae785df03d116c4ea96a790f4ef788750ca41eb85f99df2ae7f76ed835
|
4
|
+
data.tar.gz: dab788752610b9ee408ce298e74329c4abf65ce2c446b0a0db8095ed9885ff5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7036ae2d223d26ed6a9393f11b794b5924146c9a76c65c3f935351a026502b54f6c2f215998a44957437179ddbbfcfd4a8e6c4620e79da9c006a4ccd841fcf6d
|
7
|
+
data.tar.gz: 6e4e64ad4e5babc3fc4e81d11f7b86c50ff65d61a7a6a8fb10561e2aa0591ed8ad15ea87fb062d7a4561b73c4fe3739c85d535f2e9fe186b464b7d7d5906909c
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
|
4
|
+
rails_data_fix (0.1.3)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -46,7 +46,7 @@ PLATFORMS
|
|
46
46
|
x86_64-linux
|
47
47
|
|
48
48
|
DEPENDENCIES
|
49
|
-
|
49
|
+
rails_data_fix!
|
50
50
|
rake (~> 13.0)
|
51
51
|
rspec (~> 3.0)
|
52
52
|
rubocop (~> 1.7)
|
data/README.org
CHANGED
@@ -3,6 +3,19 @@
|
|
3
3
|
|
4
4
|
Manage your data maintenance tasks like migrations.
|
5
5
|
|
6
|
+
#+begin_quote
|
7
|
+
I am not sure how it slipped through, but I realized there is
|
8
|
+
another gem, [[https://rubygems.org/gems/data_migrate/versions][data_migrate]], which does the same thing as =data_fix=.
|
9
|
+
|
10
|
+
... well, I should actually say it the other way around, since
|
11
|
+
=data_migrate= has been around for longer and has been downloaded
|
12
|
+
extensively.
|
13
|
+
|
14
|
+
We keep using and maintaining =data_fix=, but if you are starting
|
15
|
+
from scratch, [[https://rubygems.org/gems/data_migrate/versions][data_migrate]] is probably a more complete and safer
|
16
|
+
choice.
|
17
|
+
#+end_quote
|
18
|
+
|
6
19
|
* Introduction
|
7
20
|
|
8
21
|
This Rails gem provides a set of tasks to manage DB data maintenance
|
data/lib/data_fix/version.rb
CHANGED
File without changes
|
@@ -56,20 +56,38 @@ namespace :data_fix do
|
|
56
56
|
db_name = config["database"]
|
57
57
|
backup_db_name = db_name.gsub(/\.sqlite3$/, "-#{Date.today.strftime('%Y-%m-%d')}.sqlite3")
|
58
58
|
cmd = "cp \"#{db_name}\" \"#{backup_db_name}\""
|
59
|
+
dry_run_msg = "WOULD RUN: #{cmd}"
|
59
60
|
when "mysql2"
|
60
61
|
db_host = config["host"]
|
61
62
|
db_name = config["database"]
|
62
63
|
db_username = config["username"]
|
63
64
|
db_password = config["password"]
|
64
65
|
backup_db_name = "db/#{db_name}-#{Rails.env}-#{Date.today.strftime('%Y-%m-%d')}.sql"
|
65
|
-
cmd = "mysqldump -u #{db_name} -p
|
66
|
+
cmd = "mysqldump -u #{db_name} -p#{db_password} #{db_name} > \"#{backup_db_name}\""
|
67
|
+
dry_run_msg = "WOULD RUN: #{cmd}"
|
68
|
+
when "sqlserver"
|
69
|
+
db_host = config["host"]
|
70
|
+
db_name = config["database"]
|
71
|
+
db_username = config["username"]
|
72
|
+
db_password = config["password"]
|
73
|
+
db_azure = config["azure"]
|
74
|
+
backup_db_name = "db/#{db_name}-#{Rails.env}-#{Date.today.strftime('%Y-%m-%d')}.sql"
|
75
|
+
cmd = "sqlcmd -E -S #{db_host} –Q “BACKUP DATABASE #{db_name} TO DISK='#{backup_db_name}'"
|
76
|
+
dry_run_msg = "WOULD RUN: #{cmd}"
|
77
|
+
else
|
78
|
+
dry_run_mgs = ""
|
66
79
|
end
|
80
|
+
|
67
81
|
if dry_run
|
68
|
-
puts_and_log
|
69
|
-
|
82
|
+
puts_and_log dry_run_msg
|
83
|
+
elsif cmd
|
70
84
|
system cmd
|
85
|
+
puts_and_log "backup performed and available as #{backup_db_name}."
|
86
|
+
else
|
87
|
+
puts "FATAL ERROR: I don't know how to backup for #{config[:adapter]})"
|
88
|
+
puts "--> Use rake data_fix:force_run to execute with no backup"
|
89
|
+
exit
|
71
90
|
end
|
72
|
-
puts_and_log "backup performed and available as #{backup_db_name}."
|
73
91
|
end
|
74
92
|
|
75
93
|
def df_status
|
@@ -123,6 +141,12 @@ namespace :data_fix do
|
|
123
141
|
df_run false, ENV["STEP"]
|
124
142
|
end
|
125
143
|
|
144
|
+
desc 'Run the required data fixes (STEP= to specify the optional number of steps)'
|
145
|
+
task force_run: :environment do
|
146
|
+
exit_if_not_installed
|
147
|
+
df_run false, ENV["STEP"], true
|
148
|
+
end
|
149
|
+
|
126
150
|
desc 'Status: show which data fixes have been run'
|
127
151
|
task status: :environment do
|
128
152
|
exit_if_not_installed
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_data_fix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adolfo Villafiorita
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: " This gem provides a set of commands to manage data maintenance scripts
|
14
14
|
of a Rails application like migrations. \n\nEach script has a timestamped name;
|
@@ -34,10 +34,10 @@ files:
|
|
34
34
|
- bin/console
|
35
35
|
- bin/setup
|
36
36
|
- data_fix.gemspec
|
37
|
-
- lib/data_fix.rb
|
38
37
|
- lib/data_fix/data_fix.rb
|
39
38
|
- lib/data_fix/railtie.rb
|
40
39
|
- lib/data_fix/version.rb
|
40
|
+
- lib/rails_data_fix.rb
|
41
41
|
- lib/tasks/data_fix_tasks.rake
|
42
42
|
homepage: https://ict4g.net/gitea/haoyun/data_fix.git
|
43
43
|
licenses:
|