easydb
The goal of easydb is to simplify the process of connecting to databases using R
Installation
Install from CRAN
install.packages('easydb')You can install the development version of easydb like so:
# install.packages('remotes')
remotes::install_github('selkamand/easydb')Quick start (examples)
library(easydb)
# Initialise a config file at '~/.easydb'
easydb_init(config_file = '~/.easydb')
# sqlite
sqlitedb <- system.file(package="easydb", "testdbs/mtcars.sqlite")
sqlite_connection <- easydb_connect(sqlitedb, config_file = '~/.easydb')
# mysql
# Example: connect to the public rfam mysql database
#
# See here for connection configuration:
# https://docs.rfam.org/en/latest/database.html
rfam_connection <- easydb_connect(dbname = "Rfam", config_file = '~/.easydb')
# postgresql
# Example: Connect to public RNAcentral postgres database
#
# See here for connection configuration:
# https://rnacentral.org/help/public-database
rna_central_connection <- easydb_connect(dbname = 'pfmegrnargs', config_file = '~/.easydb')
# Don't forget to disconnect from databases when you finish!
easydb_disconnect(sqlite_connection)
easydb_disconnect(rna_central_connection)
easydb_disconnect(rfam_connection)Disconnect
Once you’ve finished working with a database, its best to disconnect
from the db using easydb_disconnect(connection_object)
Usage (Generalised Workflow)
Step 1: Initialise Config File
We need to store your configuration details in a file somewhere on disk. You can choose where.
A common practice is to create a hidden file in your home directory.
We’ll create our config file: ~/.easydb
easydb_init(config_file = '~/.easydb')This only needs to be done once.
Step 2: Connect to Database
Connect to databases:
easydb_connect('database_name', '~/.easydb')
Step 3: Disconnect when finished
Disconnect from databases:
easydb_disconnect(connection)
What to expect
The first time you try to connect to a database, you may have to answer some questions about the database (depending on the database type you’re connecting to).
Once you’ve setup the configuration, you will not have to re-enter
host/port/creds unless you set the argument from_scratch = TRUE. This
argument will delete the existing configuration and credentials for the
given database and prompt you to supply updated information.
Miscellaneous Functionality
# List previously configured databases
easydb_available_databases('~/.easydb')How does easydb work?
Database configurations (host, port, driver, etc) are stored in a
configuration file that will be created at a user-specified location (we
recommend ~/.easydb).
Credentials are stored separately in your operating systems credential
store. This is powered by keyring. If you’re on linux you may need to
install the secret service library. See the
readme for details