Consultas SQL com texto sublime e Ruby

Crie um Rakefile global para executar consultas SQL.

~ / .rake / Rakefile

require 'json'
require
'mysql2'

desc
"Run a SQL query on MySQL"
namespace
:mysql do
task
:query do
# Shift the rake task name into oblivion
ARGV
.shift
# Now grab input from ARGF (file, piped input stdin or whatever)
str
= ARGF.read
lines
= str.split("n")
client
= Mysql2::Client.new JSON.parse(lines[0].gsub(/^--s*?/, ''))
results
= client.query str
results
.each do |row|
p row

end
end
task
:q => :query
end

Isso pode ser executado com rake -g mysql:query. Insira um arquivo para ler
como um argumento rake -g mysql:query myquery.sqlou canal na entrada.

$ echo 'select * from users limit 50' | rake -g mysql:q

Crie um sistema de compilação de Sublime Text para arquivos .sql.

~ / .config / sublime-text-2 / Packages / User / SQL.sublime-build

ou ~ / Library / Application Support / Sublime Text 2 / Packages / User / SQL.sublime-build

{
"cmd": ["ruby", "-S", "rake", "-g", "mysql:query", "$file"],
"selector": "source.sql"
}

Os arquivos SQL em Sublime Text agora podem ser executados executando uma compilação automática.
Adicione um comentário de cabeçalho com as propriedades da conexão como uma string JSON.

-- {"host": "localhost", "database": "test", "username": "test_user", "password": "secret"}

select * from users limit 50