Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork139
dadbod.vim: Modern database interface for Vim
tpope/vim-dadbod
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dadbod is a Vim plugin for interacting with databases. It's a more moderntake ondbext.vim, improving on it on the following ways:
- Connections are specified with a single URL, rather than prompting you for14 separate variables
- All interaction is through invoking
:DB
, not 53 different commands and 35different maps (omitting many of the more esoteric features, of course) - Supports a modern array of backends, including NoSQL databases:
- Big Query
- ClickHouse
- DuckDB
- Impala
- jq
- MongoDB
- MySQL
- MariaDB
- Oracle
- osquery
- PostgreSQL
- Presto
- Redis
- Snowflake
- SQL Server
- SQLite
- Your own easily implemented adapter
- Easily configurable based on a project directory (as seen inrails.vim,for example), rather than just globally or in a per-file modeline
- For those that just can't live without some piece of dbext functionality,the option
g:dadbod_manage_dbext
is provided to force dbext to useDadbod's default database.
The:DB
command has a few different usages. All forms accept a URL as thefirst parameter, which can be omitted if a default is configured or providedby a plugin.
Omit further arguments to spawn an interactive console (likepsql
orredis-cli
).
:DB postgresql:///foobar:DB redis:
If additional arguments are provided, they are interpreted as a query stringto pass to the database. Results are displayed in a preview window.
:DB sqlite:myfile.sqlite3 select count(*) from widgets:DB redis:/// CLIENT LIST
Give a range to run part or all of the current buffer as a query.
:%DB mysql://root@localhost/bazquux
Use<
to pass in a filename.
:DB mongodb:///test < big_query.js
There's also a special assignment syntax for saving a URL to a Vim variablefor later use.
:DB g:prod = postgres://user:pass@db.example.com/production_database:DB g:prod drop table users
A few additional URL like formats are accepted for interop:
:DB jdbc:sqlserver://...
:DB dbext:profile=profile_name
:DB dbext:type=PGSQL:host=...
:DB $DATABASE_URL
(with optionaldotenv.vim support)
Plugins can provide their own URL handlers as well. For example,heroku.vim provides support forheroku:appname
style URLs.
If you want to manage multiple connections at once through UI,trydadbod-ui.
Install using your favorite package manager, or use Vim's built-in packagesupport:
mkdir -p ~/.vim/pack/tpope/startcd ~/.vim/pack/tpope/startgit clone https://tpope.io/vim/dadbod.gitvim -u NONE -c "helptags dadbod/doc" -c q
Like dadbod.vim? Star the repository onGitHub and vote for it onvim.org.
Love dadbod.vim? Followtpope onGitHub andTwitter.
Copyright © Tim Pope. Distributed under the same terms as Vim itself.See:help license
.
About
dadbod.vim: Modern database interface for Vim
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.