Files
lux/modules/capabilities/neovim/lua-config/lua/plugins/database.lua
T

103 lines
2.4 KiB
Lua

local commands = {
"DBUI",
"DBUIToggle",
"DBUIAddConnection",
"DBUIFindBuffer",
"DBUIRenameBuffer",
"DBUILastQueryInfo",
}
local sql_filetypes = { "sql", "mysql", "plsql" }
local query_filetypes = { "sql", "mysql", "plsql", "javascript" }
require("lz.n").load({
{ "vim-dadbod" },
{ "vim-dadbod-completion", ft = sql_filetypes },
{
"vim-dadbod-ui",
cmd = commands,
ft = query_filetypes,
keys = {
{ "<leader>qo", "<cmd>DBUIToggle<cr>", desc = "Toggle database workspace" },
{
"<localleader>r",
"<Plug>(DBUI_ExecuteQuery)",
mode = { "n", "x" },
ft = query_filetypes,
remap = true,
desc = "Execute database query",
},
{
"<localleader>s",
"<Plug>(DBUI_SaveQuery)",
ft = query_filetypes,
remap = true,
desc = "Save database query",
},
{
"<localleader>p",
"<Plug>(DBUI_EditBindParameters)",
ft = query_filetypes,
remap = true,
desc = "Edit query parameters",
},
{ "<CR>", "<Plug>(DBUI_SelectLine)", ft = "dbui", remap = true, desc = "Open database item" },
{
"<localleader>a",
"<Plug>(DBUI_AddConnection)",
ft = "dbui",
remap = true,
desc = "Add database connection",
},
{
"<localleader>d",
"<Plug>(DBUI_DeleteLine)",
ft = "dbui",
remap = true,
desc = "Delete database item",
},
{
"<localleader>n",
"<Plug>(DBUI_RenameLine)",
ft = "dbui",
remap = true,
desc = "Rename database item",
},
{
"<localleader>r",
"<Plug>(DBUI_Redraw)",
ft = "dbui",
remap = true,
desc = "Refresh database workspace",
},
{
"<localleader>f",
"<Plug>(DBUI_JumpToForeignKey)",
ft = "dbout",
remap = true,
desc = "Follow foreign key",
},
{
"<localleader>l",
"<Plug>(DBUI_ToggleResultLayout)",
ft = "dbout",
remap = true,
desc = "Toggle result layout",
},
},
before = function()
vim.g.db_ui_execute_on_save = 0
vim.g.db_ui_disable_mappings = 1
vim.g.db_ui_show_help = 0
vim.g.dbs = {
["MySQL — TEST"] = vim.env.YOOKR_MYSQL_TEST_DATABASE_URL,
["MySQL — LIVE"] = vim.env.YOOKR_MYSQL_LIVE_DATABASE_URL,
["MongoDB — TEST"] = vim.env.YOOKR_MONGODB_TEST_DATABASE_URL,
["MongoDB — LIVE"] = vim.env.YOOKR_MONGODB_LIVE_DATABASE_URL,
}
if vim.env.DATABASE_URL and vim.env.DATABASE_URL ~= "" then
vim.g.db = vim.env.DATABASE_URL
end
end,
},
})