You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
4.2 KiB
101 lines
4.2 KiB
SET SESSION AUTHORIZATION 'postgres'; |
|
|
|
BEGIN transaction; |
|
|
|
DO $$ |
|
DECLARE ver TEXT; |
|
BEGIN |
|
|
|
UPDATE version set version='1.0.0' where vlock=1 and version='0.9.6'; |
|
|
|
IF found THEN |
|
RETURN; |
|
END IF; |
|
|
|
SELECT version into ver from version |
|
WHERE vlock=1; |
|
|
|
RAISE EXCEPTION 'Wrong DB version - expect "0.9.6" - found "%"', ver; |
|
|
|
END $$; |
|
|
|
DROP TABLE payments; |
|
CREATE TABLE payments ( |
|
paymentid bigint NOT NULL, -- unique per record |
|
payoutid bigint NOT NULL, |
|
userid bigint NOT NULL, |
|
subname character varying(256) NOT NULL, |
|
paydate timestamp with time zone NOT NULL, |
|
payaddress character varying(256) DEFAULT ''::character varying NOT NULL, |
|
originaltxn character varying(256) DEFAULT ''::character varying NOT NULL, |
|
amount bigint NOT NULL, -- satoshis |
|
diffacc float DEFAULT 0 NOT NULL, |
|
committxn character varying(256) DEFAULT ''::character varying NOT NULL, |
|
commitblockhash character varying(256) DEFAULT ''::character varying NOT NULL, |
|
createdate timestamp with time zone NOT NULL, |
|
createby character varying(64) DEFAULT ''::character varying NOT NULL, |
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL, |
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL, |
|
expirydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00', |
|
PRIMARY KEY (paymentid, expirydate) |
|
); |
|
CREATE UNIQUE INDEX payuserid ON payments USING btree (payoutid, userid, subname, payaddress, originaltxn, expirydate); |
|
|
|
DROP TABLE accountbalance; |
|
CREATE TABLE accountbalance ( -- summarised from miningpayouts and payments - RAM only |
|
userid bigint NOT NULL, |
|
confirmedpaid bigint DEFAULT 0 NOT NULL, -- satoshis |
|
confirmedunpaid bigint DEFAULT 0 NOT NULL, -- satoshis |
|
pendingconfirm bigint DEFAULT 0 NOT NULL, -- satoshis |
|
heightupdate integer not NULL, |
|
createdate timestamp with time zone NOT NULL, |
|
createby character varying(64) DEFAULT ''::character varying NOT NULL, |
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL, |
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL, |
|
modifydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00', |
|
modifyby character varying(64) DEFAULT ''::character varying NOT NULL, |
|
modifycode character varying(128) DEFAULT ''::character varying NOT NULL, |
|
modifyinet character varying(128) DEFAULT ''::character varying NOT NULL, |
|
PRIMARY KEY (userid) |
|
); |
|
|
|
DROP TABLE miningpayouts; |
|
CREATE TABLE miningpayouts ( |
|
payoutid bigint NOT NULL, |
|
userid bigint NOT NULL, |
|
diffacc float DEFAULT 0 NOT NULL, |
|
amount bigint DEFAULT 0 NOT NULL, -- satoshis |
|
createdate timestamp with time zone NOT NULL, |
|
createby character varying(64) DEFAULT ''::character varying NOT NULL, |
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL, |
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL, |
|
expirydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00', |
|
PRIMARY KEY (payoutid, userid, expirydate) |
|
); |
|
|
|
CREATE TABLE payouts ( |
|
payoutid bigint NOT NULL, -- unique per record |
|
height integer not NULL, |
|
blockhash character varying(256) NOT NULL, |
|
minerreward bigint NOT NULL, -- satoshis |
|
workinfoidstart bigint NOT NULL, |
|
workinfoidend bigint NOT NULL, -- should be block workinfoid |
|
elapsed bigint NOT NULL, |
|
status char DEFAULT ' ' NOT NULL, |
|
diffwanted float DEFAULT 0 NOT NULL, |
|
diffused float DEFAULT 0 NOT NULL, |
|
shareacc float DEFAULT 0 NOT NULL, |
|
lastshareacc timestamp with time zone NOT NULL, |
|
stats text DEFAULT ''::text NOT NULL, |
|
createdate timestamp with time zone NOT NULL, |
|
createby character varying(64) DEFAULT ''::character varying NOT NULL, |
|
createcode character varying(128) DEFAULT ''::character varying NOT NULL, |
|
createinet character varying(128) DEFAULT ''::character varying NOT NULL, |
|
expirydate timestamp with time zone DEFAULT '6666-06-06 06:06:06+00', |
|
PRIMARY KEY (payoutid, expirydate) |
|
); |
|
CREATE UNIQUE INDEX payoutsblock ON payouts USING btree (height, blockhash, expirydate); |
|
|
|
insert into idcontrol (idname,lastid,createdate,createby) values ('payoutid',999,now(),'1.0.0update'); |
|
|
|
END transaction;
|
|
|