arql 0.2.10 → 0.3.0
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 +5 -5
- data/arql.gemspec +1 -1
- data/lib/arql.rb +1 -0
- data/lib/arql/app.rb +3 -2
- data/lib/arql/concerns.rb +2 -0
- data/lib/arql/concerns/global_data_definition.rb +244 -0
- data/lib/arql/concerns/table_data_definition.rb +550 -0
- data/lib/arql/connection.rb +3 -0
- data/lib/arql/definition.rb +13 -224
- data/lib/arql/ext/array.rb +23 -2
- data/lib/arql/ext/hash.rb +27 -11
- data/lib/arql/ext/kernel.rb +6 -158
- data/lib/arql/ext/string.rb +8 -0
- data/lib/arql/mysqldump.rb +44 -0
- data/lib/arql/version.rb +1 -1
- metadata +8 -4
data/lib/arql/ext/string.rb
CHANGED
@@ -0,0 +1,44 @@
|
|
1
|
+
module Arql
|
2
|
+
class Mysqldump
|
3
|
+
|
4
|
+
def initialize(options = nil)
|
5
|
+
options ||= App.connect_options
|
6
|
+
@options = options
|
7
|
+
if options[:socket]
|
8
|
+
port_or_sock = "-S #{options[:socket]}"
|
9
|
+
else
|
10
|
+
port_or_sock = "-P #{options[:port] || 3306}"
|
11
|
+
end
|
12
|
+
@base_dump_cmd = "mysqldump -u %{user} -h %{host} %{port_or_sock} %{password} --skip-lock-tables " % {
|
13
|
+
user: options[:username],
|
14
|
+
host: options[:host],
|
15
|
+
password: options[:password].presence.try { |e| "-p#{e}" } || '',
|
16
|
+
port_or_sock: port_or_sock
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def dump_table(filename, table_name, no_create_table = false)
|
21
|
+
system dump_table_cmd(table_name, no_create_table) + " > #{filename}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def dump_database(filename, no_create_db = false)
|
25
|
+
system dump_database_cmd(no_create_db) + " > #{filename}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def dump_table_cmd(table_name, no_create_table = false)
|
29
|
+
@base_dump_cmd + " " + if no_create_table
|
30
|
+
"--no-create-info #{@options[:database]} #{table_name}"
|
31
|
+
else
|
32
|
+
"--add-drop-table #{@options[:database]} #{table_name}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def dump_database_cmd(no_create_db = false)
|
37
|
+
@base_dump_cmd + " " + if no_create_db
|
38
|
+
"--no-create-db --add-drop-database --databases #{@options[:database]}"
|
39
|
+
else
|
40
|
+
"--add-drop-database --add-drop-table --databases #{@options[:database]}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/arql/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Liu Xiang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|
@@ -237,6 +237,9 @@ files:
|
|
237
237
|
- lib/arql/commands/redefine.rb
|
238
238
|
- lib/arql/commands/show_sql.rb
|
239
239
|
- lib/arql/commands/table.rb
|
240
|
+
- lib/arql/concerns.rb
|
241
|
+
- lib/arql/concerns/global_data_definition.rb
|
242
|
+
- lib/arql/concerns/table_data_definition.rb
|
240
243
|
- lib/arql/connection.rb
|
241
244
|
- lib/arql/definition.rb
|
242
245
|
- lib/arql/ext.rb
|
@@ -248,6 +251,7 @@ files:
|
|
248
251
|
- lib/arql/ext/time.rb
|
249
252
|
- lib/arql/id.rb
|
250
253
|
- lib/arql/multi_io.rb
|
254
|
+
- lib/arql/mysqldump.rb
|
251
255
|
- lib/arql/repl.rb
|
252
256
|
- lib/arql/ssh_proxy.rb
|
253
257
|
- lib/arql/ssh_proxy_patch.rb
|
@@ -264,14 +268,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
264
268
|
requirements:
|
265
269
|
- - ">="
|
266
270
|
- !ruby/object:Gem::Version
|
267
|
-
version: 2.
|
271
|
+
version: 2.6.0
|
268
272
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
269
273
|
requirements:
|
270
274
|
- - ">="
|
271
275
|
- !ruby/object:Gem::Version
|
272
276
|
version: '0'
|
273
277
|
requirements: []
|
274
|
-
rubygems_version: 3.
|
278
|
+
rubygems_version: 3.2.3
|
275
279
|
signing_key:
|
276
280
|
specification_version: 4
|
277
281
|
summary: Rails ActiveRecord + Pry is the best SQL query editor
|