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.sql
ou 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