From b8dfac1e75fe4da35f5bdf0dcd9b122aabe0e594 Mon Sep 17 00:00:00 2001 From: Jonathan Zernik Date: Sat, 26 Sep 2020 01:30:47 -0700 Subject: [PATCH] Use sqlite db file (#257) * Use file for sqlite db * Use squeak as relative path parent for sqlite db file --- itests/config.ini | 2 +- itests/run_itest.sh | 2 +- squeakserver/db/db_engine.py | 11 +++++++---- squeakserver/main.py | 6 +++++- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/itests/config.ini b/itests/config.ini index 5b5682db..7148a3fc 100644 --- a/itests/config.ini +++ b/itests/config.ini @@ -2,7 +2,7 @@ network=simnet price=1000 max_squeaks_per_address_per_hour=5 -database=postgresql +database=sqlite sqk_dir= enable_sync=false diff --git a/itests/run_itest.sh b/itests/run_itest.sh index 341f4d43..551e6150 100755 --- a/itests/run_itest.sh +++ b/itests/run_itest.sh @@ -14,7 +14,7 @@ function mine_blocks { cd itests docker-compose down --volumes -# docker-compose build +docker-compose build docker-compose up -d # Initialize the blockchain with miner rewards going to the test client. diff --git a/squeakserver/db/db_engine.py b/squeakserver/db/db_engine.py index 3cb1ee8c..0adb8f0b 100644 --- a/squeakserver/db/db_engine.py +++ b/squeakserver/db/db_engine.py @@ -17,11 +17,14 @@ def get_postgres_connection_string(user, password, host, database): ) -def get_sqlite_engine(): +def get_sqlite_engine(squeak_dir, network): return create_engine( - get_sqlite_connection_string() + get_sqlite_connection_string(squeak_dir, network) ) -def get_sqlite_connection_string(): - return "sqlite:///squeakdb.db".format() +def get_sqlite_connection_string(squeak_dir, network): + return "sqlite:////{}/{}.db".format( + squeak_dir, + network, + ) diff --git a/squeakserver/main.py b/squeakserver/main.py index 1a761d85..df59b016 100644 --- a/squeakserver/main.py +++ b/squeakserver/main.py @@ -4,6 +4,8 @@ import sys import threading from configparser import ConfigParser +from pathlib import Path + from squeak.params import SelectParams from squeakserver.admin.squeak_admin_server_handler import SqueakAdminServerHandler @@ -79,6 +81,7 @@ def load_admin_handler(lightning_client, squeak_node): def load_db(config, network): database = load_database(config) + logger.info("database: " + database) if database == "postgresql": engine = get_postgres_engine( config["postgresql"]["user"], @@ -88,7 +91,8 @@ def load_db(config, network): ) return SqueakDb(engine, schema=network) elif database == "sqlite": - engine = get_sqlite_engine() + Path("/squeak").mkdir(parents=True, exist_ok=True) + engine = get_sqlite_engine("squeak", network) return SqueakDb(engine)