litestream 0.7.1-x86_64-linux → 0.8.0-x86_64-linux

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: '08afe3b30bd0e745eafa2959aa96f7961afca170597149f1ca70bc585c8810e8'
4
- data.tar.gz: c11be09f09ce2144b16a98d0be2dc1f8e8f11dd407d9255f16126df4d7b1c378
3
+ metadata.gz: 59ebcfd0c3df7580a084e4f35f7708dc46a880eb8d7d37f901caa17f57b55066
4
+ data.tar.gz: '0219c9889dc659291a19f318ba135b7fb2d1cd61796a7a5d66e5b62e5246afdd'
5
5
  SHA512:
6
- metadata.gz: 51b272dc72f4bc02078e4efdb34cb6dd73d9e98b308e0ccccbbd228ab037a07710654f0930b60e3facac5d82e17e01a905bba6db7b403d6607e85e3241286bb4
7
- data.tar.gz: d00b1075636484af33d233fb102ba51318fd246d730bcb6cb3994e693e94974be1635e28c3bdbfcd2e009c422845b4770e3c6eefddf2a94821708984730584c6
6
+ metadata.gz: 2d24fc0f963181ffb7a66a4a76b8698ccf6b2dc9ad63fd7049a66a2366070ed30a1b2bd6761af2074a92cb8e2375b48cdb096762c37a75cd7cb87779e6363937
7
+ data.tar.gz: 247d6831b3c9c12d75ca4b6a65ebf51f7b0e43993bb1a91a363daf2b8fd24db46aee6a939ed12b56567994eb48428892606f61eea8176332f9056d7489793376
@@ -1,4 +1,5 @@
1
1
  require_relative "upstream"
2
+ require "logfmt"
2
3
 
3
4
  module Litestream
4
5
  module Commands
@@ -101,16 +102,29 @@ module Litestream
101
102
  }.merge(argv)
102
103
  restore(database, async: false, **args)
103
104
 
104
- restored_tables_count = `sqlite3 #{backup} "select count(*) from sqlite_schema where type='table';"`.chomp.to_i
105
- restored_size = File.size(backup)
106
- original_tables_count = `sqlite3 #{database} "select count(*) from sqlite_schema where type='table';"`.chomp.to_i
107
- original_size = File.size(database)
105
+ restored_schema = `sqlite3 #{backup} "select name, type from sqlite_schema;"`.chomp.split("\n")
106
+ restored_data = restored_schema.map { _1.split("|") }.group_by(&:last)
107
+ restored_rows_count = restored_data["table"]&.sum { |tbl, _| `sqlite3 #{backup} "select count(*) from #{tbl};"`.chomp.to_i }
108
+
109
+ original_schema = `sqlite3 #{database} "select name, type from sqlite_schema;"`.chomp.split("\n")
110
+ original_data = original_schema.map { _1.split("|") }.group_by(&:last)
111
+ original_rows_count = original_data["table"]&.sum { |tbl, _| `sqlite3 #{database} "select count(*) from #{tbl};"`.chomp.to_i }
108
112
 
109
113
  Dir.glob(backup + "*").each { |file| File.delete(file) }
110
114
 
111
115
  {
112
- "size" => {"original" => original_size, "restored" => restored_size},
113
- "tables" => {"original" => original_tables_count, "restored" => restored_tables_count}
116
+ "original" => {
117
+ "path" => database,
118
+ "tables" => original_data["table"]&.size,
119
+ "indexes" => original_data["index"]&.size,
120
+ "rows" => original_rows_count
121
+ },
122
+ "restored" => {
123
+ "path" => backup,
124
+ "tables" => restored_data["table"]&.size,
125
+ "indexes" => restored_data["index"]&.size,
126
+ "rows" => restored_rows_count
127
+ }
114
128
  }
115
129
  end
116
130
 
@@ -1,3 +1,3 @@
1
1
  module Litestream
2
- VERSION = "0.7.1"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -96,15 +96,20 @@ namespace :litestream do
96
96
 
97
97
  puts <<~TXT if result
98
98
 
99
- size
100
- original #{result["size"]["original"]}
101
- restored #{result["size"]["restored"]}
102
- delta #{result["size"]["original"] - result["size"]["restored"]}
103
-
104
99
  tables
105
- original #{result["tables"]["original"]}
106
- restored #{result["tables"]["restored"]}
107
- delta #{result["tables"]["original"] - result["tables"]["restored"]}
100
+ original #{result["original"]["tables"]}
101
+ restored #{result["restored"]["tables"]}
102
+ delta #{result["original"]["tables"] - result["restored"]["tables"]}
103
+
104
+ indexes
105
+ original #{result["original"]["indexes"]}
106
+ restored #{result["restored"]["indexes"]}
107
+ delta #{result["original"]["indexes"] - result["restored"]["indexes"]}
108
+
109
+ rows
110
+ original #{result["original"]["rows"]}
111
+ restored #{result["restored"]["rows"]}
112
+ delta #{result["original"]["rows"] - result["restored"]["rows"]}
108
113
  TXT
109
114
  end
110
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: litestream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Stephen Margheim