solid_litequeen 0.10.1 → 0.10.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bea5f5d1e8b1ca9a1c3cc11443592734bad832f263f61c70bace53c74881f42
|
4
|
+
data.tar.gz: f4e91d3189ca8e38c3acce297f1da104d99adff11b5ede2b32a02ab3a49f2f0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b67cf3712f2f5931fbc43e7ba3d53cc77324d8f231de9d24041068dc5704d000ba53e977914355d8a09b168a88ef9cdff8ec44eee0ec01a36a2e927fb9e9277
|
7
|
+
data.tar.gz: 80cff9bb4a94b9ef65eaa3be3cfc72819b03a820f61bfbcac334607897d8ca6c724fe823e5303df2f5bb6d9d13f9e64978a1d0951d0da8c5b077eab10d2d4d8c
|
@@ -91,25 +91,39 @@ module SolidLitequeen
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def download
|
94
|
-
database_id = params
|
94
|
+
database_id = params[:database_id]
|
95
95
|
database_location = Base64.urlsafe_decode64(database_id)
|
96
96
|
|
97
|
-
#
|
97
|
+
# Ensure the database file exists
|
98
98
|
unless File.exist?(database_location)
|
99
99
|
flash[:error] = "Database file not found"
|
100
100
|
redirect_to databases_path and return
|
101
101
|
end
|
102
102
|
|
103
|
-
#
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
103
|
+
# Create a temporary file for the backup
|
104
|
+
backup_file = Tempfile.new([ "backup", ".sqlite3" ])
|
105
|
+
backup_file.close # Close the file so SQLite3 can write to it
|
106
|
+
|
107
|
+
begin
|
108
|
+
# Establish connection like we've been doing elsewhere
|
109
|
+
DynamicDatabase.establish_connection(
|
110
|
+
adapter: "sqlite3",
|
111
|
+
database: database_location
|
112
|
+
)
|
113
|
+
|
114
|
+
# Use VACUUM INTO for a more efficient backup
|
115
|
+
DynamicDatabase.connection.execute("VACUUM INTO '#{backup_file.path}'")
|
116
|
+
|
117
|
+
# Send the backup file as a download
|
118
|
+
send_file backup_file.path,
|
119
|
+
filename: File.basename(database_location),
|
120
|
+
type: "application/x-sqlite3",
|
121
|
+
disposition: "attachment"
|
122
|
+
end
|
111
123
|
end
|
112
124
|
|
125
|
+
|
126
|
+
|
113
127
|
def set_column_order
|
114
128
|
table_name = params[:table]
|
115
129
|
database_id = params[:database_id]
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<script>
|
15
15
|
document.getElementById('database-select').addEventListener('change', function() {
|
16
16
|
if (this.value) {
|
17
|
-
|
17
|
+
Turbo.visit('<%= database_path("") %>' + this.value);
|
18
18
|
}
|
19
19
|
});
|
20
20
|
</script>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solid_litequeen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vik Borges
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sqlite3
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: debug
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|