Learn R Programming

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

Copy Link

Version

Install

install.packages('easydb')

Monthly Downloads

185

Version

1.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

March 6th, 2023

Functions in easydb (1.1.0)

utils_user_input_retrieve_free_text

get user input
supported_drivers

List supported drivers
utils_database_already_in_yaml

Database Utils
easydb_available_databases

Available Databases
utils_database_get_or_set_creds

Create/Retrieve database credentials
utils_database_get_or_set_config

Interactive getting/setting database configurations
utils_database_read_yaml

Read the database config
easydb_init

Initialise Configuration Store
easydb_connect

Easy Database Connection
assert_config_file_appropriate

Check config filepath is appropriate
easydb_disconnect

Disconnect from database
utils_database_write_yaml

Write database yaml
utils_database_remove_entry_from_yaml

Delete database config entries from yaml