lnbits-legend/LNbits/data/schema.sql

37 lines
905 B
MySQL
Raw Normal View History

CREATE TABLE IF NOT EXISTS accounts (
id text PRIMARY KEY,
email text,
pass text
);
CREATE TABLE IF NOT EXISTS wallets (
id text PRIMARY KEY,
name text NOT NULL,
user text NOT NULL,
adminkey text NOT NULL,
inkey text
);
CREATE TABLE IF NOT EXISTS apipayments (
payhash text PRIMARY KEY,
amount integer NOT NULL,
2019-12-14 00:11:41 -03:00
fee integer NOT NULL DEFAULT 0,
wallet text NOT NULL,
pending boolean NOT NULL,
memo text
);
2019-12-14 00:11:41 -03:00
CREATE VIEW IF NOT EXISTS balances AS
2019-12-14 00:11:41 -03:00
SELECT wallet, coalesce(sum(s), 0) AS balance FROM (
SELECT wallet, sum(amount) AS s -- incoming
FROM apipayments
WHERE amount > 0 AND pending = false -- don't sum pending
2019-12-14 09:18:48 -03:00
GROUP BY wallet
2019-12-14 00:11:41 -03:00
UNION ALL
SELECT wallet, sum(amount + fee) AS s -- outgoing, sum fees
FROM apipayments
WHERE amount < 0 -- do sum pending
2019-12-14 09:18:48 -03:00
GROUP BY wallet
2019-12-14 00:11:41 -03:00
)
GROUP BY wallet;