fix: use bigint for amounts in postgres (#1030)

This commit is contained in:
Vlad Stan
2022-10-07 15:23:57 +03:00
committed by GitHub
parent 8d6c0a4843
commit 7711387d64
8 changed files with 23 additions and 17 deletions

View File

@@ -52,6 +52,12 @@ class Compat:
return "" return ""
return "<nothing>" return "<nothing>"
@property
def big_int(self) -> str:
if self.type in {POSTGRES}:
return "BIGINT"
return "INT"
class Connection(Compat): class Connection(Compat):
def __init__(self, conn: AsyncConnection, txn, typ, name, schema): def __init__(self, conn: AsyncConnection, txn, typ, name, schema):

View File

@@ -29,7 +29,7 @@ async def m001_initial(db):
) )
await db.execute( await db.execute(
""" f"""
CREATE TABLE boltcards.hits ( CREATE TABLE boltcards.hits (
id TEXT PRIMARY KEY UNIQUE, id TEXT PRIMARY KEY UNIQUE,
card_id TEXT NOT NULL, card_id TEXT NOT NULL,
@@ -38,7 +38,7 @@ async def m001_initial(db):
useragent TEXT, useragent TEXT,
old_ctr INT NOT NULL DEFAULT 0, old_ctr INT NOT NULL DEFAULT 0,
new_ctr INT NOT NULL DEFAULT 0, new_ctr INT NOT NULL DEFAULT 0,
amount INT NOT NULL, amount {db.big_int} NOT NULL,
time TIMESTAMP NOT NULL DEFAULT """ time TIMESTAMP NOT NULL DEFAULT """
+ db.timestamp_now + db.timestamp_now
+ """ + """
@@ -47,11 +47,11 @@ async def m001_initial(db):
) )
await db.execute( await db.execute(
""" f"""
CREATE TABLE boltcards.refunds ( CREATE TABLE boltcards.refunds (
id TEXT PRIMARY KEY UNIQUE, id TEXT PRIMARY KEY UNIQUE,
hit_id TEXT NOT NULL, hit_id TEXT NOT NULL,
refund_amount INT NOT NULL, refund_amount {db.big_int} NOT NULL,
time TIMESTAMP NOT NULL DEFAULT """ time TIMESTAMP NOT NULL DEFAULT """
+ db.timestamp_now + db.timestamp_now
+ """ + """

View File

@@ -1,16 +1,16 @@
async def m001_initial(db): async def m001_initial(db):
await db.execute( await db.execute(
""" f"""
CREATE TABLE boltz.submarineswap ( CREATE TABLE boltz.submarineswap (
id TEXT PRIMARY KEY, id TEXT PRIMARY KEY,
wallet TEXT NOT NULL, wallet TEXT NOT NULL,
payment_hash TEXT NOT NULL, payment_hash TEXT NOT NULL,
amount INT NOT NULL, amount {db.big_int} NOT NULL,
status TEXT NOT NULL, status TEXT NOT NULL,
boltz_id TEXT NOT NULL, boltz_id TEXT NOT NULL,
refund_address TEXT NOT NULL, refund_address TEXT NOT NULL,
refund_privkey TEXT NOT NULL, refund_privkey TEXT NOT NULL,
expected_amount INT NOT NULL, expected_amount {db.big_int} NOT NULL,
timeout_block_height INT NOT NULL, timeout_block_height INT NOT NULL,
address TEXT NOT NULL, address TEXT NOT NULL,
bip21 TEXT NOT NULL, bip21 TEXT NOT NULL,
@@ -22,12 +22,12 @@ async def m001_initial(db):
""" """
) )
await db.execute( await db.execute(
""" f"""
CREATE TABLE boltz.reverse_submarineswap ( CREATE TABLE boltz.reverse_submarineswap (
id TEXT PRIMARY KEY, id TEXT PRIMARY KEY,
wallet TEXT NOT NULL, wallet TEXT NOT NULL,
onchain_address TEXT NOT NULL, onchain_address TEXT NOT NULL,
amount INT NOT NULL, amount {db.big_int} NOT NULL,
instant_settlement BOOLEAN NOT NULL, instant_settlement BOOLEAN NOT NULL,
status TEXT NOT NULL, status TEXT NOT NULL,
boltz_id TEXT NOT NULL, boltz_id TEXT NOT NULL,
@@ -37,7 +37,7 @@ async def m001_initial(db):
claim_privkey TEXT NOT NULL, claim_privkey TEXT NOT NULL,
lockup_address TEXT NOT NULL, lockup_address TEXT NOT NULL,
invoice TEXT NOT NULL, invoice TEXT NOT NULL,
onchain_amount INT NOT NULL, onchain_amount {db.big_int} NOT NULL,
time TIMESTAMP NOT NULL DEFAULT """ time TIMESTAMP NOT NULL DEFAULT """
+ db.timestamp_now + db.timestamp_now
+ """ + """

View File

@@ -45,7 +45,7 @@ async def m001_initial_invoices(db):
id TEXT PRIMARY KEY, id TEXT PRIMARY KEY,
invoice_id TEXT NOT NULL, invoice_id TEXT NOT NULL,
amount INT NOT NULL, amount {db.big_int} NOT NULL,
time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now}, time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now},

View File

@@ -29,7 +29,7 @@ async def m001_initial(db):
payhash TEXT, payhash TEXT,
payload TEXT NOT NULL, payload TEXT NOT NULL,
pin INT, pin INT,
sats INT, sats {db.big_int},
timestamp TIMESTAMP NOT NULL DEFAULT {db.timestamp_now} timestamp TIMESTAMP NOT NULL DEFAULT {db.timestamp_now}
); );
""" """

View File

@@ -3,14 +3,14 @@ async def m001_initial(db):
Initial lnurlpayouts table. Initial lnurlpayouts table.
""" """
await db.execute( await db.execute(
""" f"""
CREATE TABLE lnurlpayout.lnurlpayouts ( CREATE TABLE lnurlpayout.lnurlpayouts (
id TEXT PRIMARY KEY, id TEXT PRIMARY KEY,
title TEXT NOT NULL, title TEXT NOT NULL,
wallet TEXT NOT NULL, wallet TEXT NOT NULL,
admin_key TEXT NOT NULL, admin_key TEXT NOT NULL,
lnurlpay TEXT NOT NULL, lnurlpay TEXT NOT NULL,
threshold INT NOT NULL threshold {db.big_int} NOT NULL
); );
""" """
) )

View File

@@ -25,7 +25,7 @@ async def m001_initial(db):
name TEXT NOT NULL, name TEXT NOT NULL,
message TEXT NOT NULL, message TEXT NOT NULL,
cur_code TEXT NOT NULL, cur_code TEXT NOT NULL,
sats INT NOT NULL, sats {db.big_int} NOT NULL,
amount FLOAT NOT NULL, amount FLOAT NOT NULL,
service INTEGER NOT NULL, service INTEGER NOT NULL,
posted BOOLEAN NOT NULL, posted BOOLEAN NOT NULL,

View File

@@ -19,8 +19,8 @@ async def m001_initial(db):
wallet TEXT NOT NULL, wallet TEXT NOT NULL,
name TEXT NOT NULL, name TEXT NOT NULL,
message TEXT NOT NULL, message TEXT NOT NULL,
sats INT NOT NULL, sats {db.big_int} NOT NULL,
tipjar INT NOT NULL, tipjar {db.big_int} NOT NULL,
FOREIGN KEY(tipjar) REFERENCES {db.references_schema}TipJars(id) FOREIGN KEY(tipjar) REFERENCES {db.references_schema}TipJars(id)
); );
""" """