The goal of easydb is to simplify the process of connecting to databases using R
Install from CRAN
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)
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_init(config_file = '~/.easydb')
This only needs to be done once.
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.
# 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
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