Patching dbext vim plugin to support Rails naming conventions
30 May 2011
dbext is an excellent vim plugin that allows you to execute SQL queries directly from vim. For example: select * from <word under cursor>
. When dbext is used with Rails there is a problem that you can work with some variation of table name like:
- UserRole
- user_role_id
- user_role_ids
- user_role
But still wants to use it as table name in your database queries so that you won’t type it manually.
So, I made it to automatically convert word under cursor into a table name with the following configuration options:
let g:dbext_table_names_number = 2
# 0 - disabled, 1 - singular, 2 - plural
let g:dbext_table_names_case = 2
# 0 - disabled, 1 - camelcase, 2 - underscore
Also there is an option to automatically strip _id
suffix from word to convert it to table name:
let g:dbext_table_names_strip_id = 1
All these options match Rails table name convention by default. Staff in my dbext fork.
Once you install it in your vim runtime put your cursor on any table name variation like example above and run :DBSelectFromTable
to get:
select * from user_roles
Other commands are also patched. Please let me know if any bugs found.
Don’t know if non-rails developers would love this patch but pretty sure that it won’t annoy them. Please support my pull request if you like it.