Light Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

inaka/sumo_db_pgsql

Repository files navigation

sumo_db_pgsql

About

This is the PostgreSQL adapter for sumo_db.

PosgreSQL

Install PostgreSQL

To install PostgreSQL please follow the instructions in this link: Installing PostgreSQL.

Getting Started

To start using sumo_db with this PostgreSQL adapter sumo_db_pgsql is pretty easy, you just have to follow these steps:

  1. Add sumo_db and sumo_db_pgsql as dependencies in your project.

    Using Rebar3:

    {deps, [
    {sumo_db_pgsql, "0.1.1"}
    ]}.
  2. You need at least one doc/entity, let's use sumo_test_people_pgsql as example.

    NOTE: if you use this entity, you'll need to include mixer to the dependencies list

  3. Provide the configuration file, e.g.: test.config.

  4. Now you can run your app and start using sumo from there.

Running sumo from Erlang console

Start the Erlang console, adding the path to your beams and config file

$ REBAR_PROFILE=test rebar3 shell --config=test/test.config

Within the console:

> application:ensure_all_started(sumo_db_pgsql).
12:02:00.250 [info] Application lager started on node nonode@nohost
12:02:00.250 [info] Application crypto started on node nonode@nohost
12:02:00.251 [info] Application asn1 started on node nonode@nohost
12:02:00.251 [info] Application public_key started on node nonode@nohost
12:02:00.251 [info] Application ssl started on node nonode@nohost
12:02:00.252 [info] Application epgsql started on node nonode@nohost
12:02:00.256 [info] Application sasl started on node nonode@nohost
12:02:00.256 [info] Creating wpool ETS table
12:02:00.256 [info] Application worker_pool started on node nonode@nohost
12:02:00.256 [info] Application quickrand started on node nonode@nohost
12:02:00.256 [info] Application uuid started on node nonode@nohost
12:02:00.337 [info] Application sumo_db started on node nonode@nohost
12:02:00.341 [info] Application sumo_db_pgsql started on node nonode@nohost
{ok,[syntax_tools,compiler,goldrush,lager,crypto,asn1,
public_key,ssl,epgsql,sasl,worker_pool,quickrand,uuid,
sumo_db,sumo_db_pgsql]}

% from here you can start using sumo

> sumo:find_all(people).
[]

Running Tests

A PostgreSQL instance is needed to run the tests. If Docker (and Docker Compose) is an option, a PostgreSQL server can be run executing the following commands (assuming the current/working directory is the project's root):

$ docker-compose up -d

After this is completed, a similar result should be displayed:

$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------
sumodbpgsql_db_1 docker-entrypoint.sh postgres Up 0.0.0.0:5432->5432/tcp

If Docker (and Docker Compose) is not an alternative, install PostgreSQL (refer to Install PostgreSQL) and make sure to:

  • Create a postgres user (with postgres as password).
  • Create a test sumo_test database.

NOTE: Alternatively, use PostgreSQL defaults and make sure to modify/update test/test.config accordingly.

Then run:

$ rebar3 ct

Contact Us

If you find any bugs or have a problem while using this library, please open an issue in this repo (or a pull request :)).

About

PostgreSQL adapter for sumo_db.

Topics

Resources

Readme

License

Apache-2.0 license

Stars

Watchers

Forks

Contributors

Languages