tol 0.0.2 → 0.0.3
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.
- data/lib/tol/database.rb +28 -11
- data/lib/tol/version.rb +1 -1
- metadata +2 -2
data/lib/tol/database.rb
CHANGED
@@ -33,17 +33,37 @@ class Database
|
|
33
33
|
def download(heroku_app)
|
34
34
|
puts "Downloading database for #{heroku_app.underline}".foreground(:green)
|
35
35
|
|
36
|
-
puts "1. Detecting local database settings.".foreground(:yellow)
|
36
|
+
puts "Step 1. Detecting local database settings.".foreground(:yellow)
|
37
37
|
@settings = Tol::RailsApp.new.database_settings["development"]
|
38
38
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
39
|
+
choose do |menu|
|
40
|
+
puts "Step 2. Which version of the database should I download?".foreground(:green)
|
41
|
+
|
42
|
+
menu.prompt = "Please pick up database version?"
|
43
|
+
|
44
|
+
local_file = "/tmp/#{heroku_app}.dump"
|
45
|
+
if File.exists?(local_file)
|
46
|
+
downloaded_at = File.mtime(local_file).strftime("%b %e, %l:%M %p")
|
47
|
+
menu.choice "Local File (Fastest) - downloaded at #{downloaded_at}"
|
48
|
+
end
|
49
|
+
|
50
|
+
menu.choice "Most Recent Snapshot (Fast)" do
|
51
|
+
puts "... Downloading. Please wait.".foreground(:yellow)
|
52
|
+
url = `heroku pgbackups:url --app #{heroku_app}`
|
53
|
+
download = `curl -o /tmp/#{heroku_app}.dump '#{url}' > /dev/null 2>&1`
|
54
|
+
end
|
55
|
+
|
56
|
+
menu.choice "New Snapshot (Slowest)" do
|
57
|
+
puts "... Capturing database on Heroku. Please wait".foreground(:yellow)
|
58
|
+
db = `heroku pgbackups:capture --app #{heroku_app} --expire`
|
45
59
|
|
46
|
-
|
60
|
+
puts "... Downloading. Please wait.".foreground(:yellow)
|
61
|
+
url = `heroku pgbackups:url --app #{heroku_app}`
|
62
|
+
download = `curl -o /tmp/#{heroku_app}.dump '#{url}' > /dev/null 2>&1`
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
puts "Step 3. Importing Database.".foreground(:yellow)
|
47
67
|
puts "-> drop old database"
|
48
68
|
dropdb = "dropdb"
|
49
69
|
dropdb += " -h #{@settings['host']}" if @settings["host"]
|
@@ -72,9 +92,6 @@ class Database
|
|
72
92
|
restore_command += " /tmp/#{heroku_app}.dump > /dev/null 2>&1"
|
73
93
|
restore = `/bin/bash -c '#{restore_command}'`
|
74
94
|
|
75
|
-
puts "5. Cleaning up.".foreground(:yellow)
|
76
|
-
clean_up = `rm /tmp/#{heroku_app}.dump`
|
77
|
-
|
78
95
|
puts "DONE".foreground(:green)
|
79
96
|
end
|
80
97
|
|
data/lib/tol/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tol
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|