Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork144
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_dbextis 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 LISTGive a range to run part or all of the current buffer as a query.
:%DB mysql://root@localhost/bazquuxUse< to pass in a filename.
:DB mongodb:///test < big_query.jsThere'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 usersA 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 qLike 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
Contributing
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.