This is the PostgreSQL adapter for sumo_db.
To install PostgreSQL please follow the instructions in this link: Installing PostgreSQL.
To start using sumo_db
with this PostgreSQL adapter sumo_db_pgsql
is pretty easy, you just have to follow these
steps:
-
Add
sumo_db
andsumo_db_pgsql
as dependencies in your project.Using Rebar3:
{deps, [ {sumo_db_pgsql, "0.1.1"} ]}.
-
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 -
Provide the configuration file, e.g.: test.config.
-
Now you can run your app and start using
sumo
from there.
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).
[]
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 (withpostgres
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
If you find any bugs or have a problem while using this library, please open an issue in this repo (or a pull request :)).