db setup and teardown suite

This commit is contained in:
nitowa
2022-08-18 09:42:48 -04:00
commit 883c81b786
9 changed files with 64 additions and 0 deletions
Binary file not shown.
+6
View File
@@ -0,0 +1,6 @@
cassandra_addresses = ['127.0.0.1']
cassandra_port = 9042
cassandra_keyspace = 'distributedunionfind'
setup_db_dir = 'setup/db'
setup_tables_dir = setup_db_dir+"/tables"
+24
View File
@@ -0,0 +1,24 @@
from settings import cassandra_addresses, cassandra_port, setup_db_dir, setup_tables_dir
from cassandra.cluster import Cluster
import os
print(" == DB SETUP SCRIPT == ")
print(f"Attempting Cassandra connection @ {cassandra_addresses}:{cassandra_port}")
cluster = Cluster(cassandra_addresses, port=cassandra_port)
session = cluster.connect()
print(f"Connection OK")
with open(f"{setup_db_dir}/keyspace/CREATE.sql") as keyspace_create:
session.execute(keyspace_create.read())
with open(f"{setup_db_dir}/keyspace/USE.sql") as keyspace_use:
session.execute(keyspace_use.read())
for folder_name in os.listdir(setup_tables_dir):
with open(f'{setup_tables_dir}/{folder_name}/CREATE.sql') as sql_create:
session.execute(sql_create.read())
session.execute("INSERT INTO transactions (tx_id,address,value,tx_hash,block_id,timestamp) VALUES(1697,'t1KmCvfPMgfQXeNosFqzAmvYdEoYfdnxnVA',15701,'18c23345908f5097456c5f0014411381fd9866790aa65b863aab24ee17453732',818,1477724947)")
res = session.execute('SELECT * FROM transactions')
print(res.one())
+1
View File
@@ -0,0 +1 @@
CREATE KEYSPACE IF NOT EXISTS distributedunionfind WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
+1
View File
@@ -0,0 +1 @@
DROP KEYSPACE IF EXISTS distributedunionfind
+1
View File
@@ -0,0 +1 @@
USE distributedunionfind;
+9
View File
@@ -0,0 +1,9 @@
CREATE TABLE transactions(
tx_id INT,
address TEXT,
value INT,
tx_hash TEXT,
block_id INT,
timestamp TIMESTAMP,
PRIMARY KEY (tx_id, address)
) WITH CLUSTERING ORDER BY (address DESC);
+1
View File
@@ -0,0 +1 @@
DROP TABLE transactions
+21
View File
@@ -0,0 +1,21 @@
from settings import cassandra_addresses, cassandra_port, cassandra_keyspace, setup_tables_dir, setup_db_dir
from cassandra.cluster import Cluster
import os
print(" == DB TEARDOWN SCRIPT == ")
print(f"Attempting Cassandra connection @ {cassandra_addresses}:{cassandra_port}")
cluster = Cluster(cassandra_addresses, port=cassandra_port)
session = cluster.connect(cassandra_keyspace)
print(f"Connection OK")
for folder_name in os.listdir(setup_tables_dir):
print(f"Dropping table {folder_name}")
with open(f'{setup_tables_dir}/{folder_name}/DROP.sql') as sql_drop:
session.execute(sql_drop.read())
with open(f"{setup_db_dir}/keyspace/DROP.sql") as keyspace_create:
print(f"Dropping keyspace {cassandra_keyspace}")
session.execute(keyspace_create.read())
print("Done!")