45 lines
917 B
SQL
45 lines
917 B
SQL
-- +goose Up
|
|
ALTER TABLE receipts
|
|
ADD COLUMN block_id INT;
|
|
|
|
UPDATE receipts
|
|
SET block_id = (
|
|
SELECT block_id FROM transactions WHERE transactions.id = receipts.transaction_id
|
|
);
|
|
|
|
ALTER TABLE receipts
|
|
ALTER COLUMN block_id SET NOT NULL;
|
|
|
|
ALTER TABLE receipts
|
|
ADD CONSTRAINT blocks_fk
|
|
FOREIGN KEY (block_id)
|
|
REFERENCES blocks (id)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE receipts
|
|
DROP COLUMN transaction_id;
|
|
|
|
|
|
-- +goose Down
|
|
ALTER TABLE receipts
|
|
ADD COLUMN transaction_id INT;
|
|
|
|
CREATE INDEX transaction_id_index ON receipts (transaction_id);
|
|
|
|
UPDATE receipts
|
|
SET transaction_id = (
|
|
SELECT id FROM transactions WHERE transactions.hash = receipts.tx_hash
|
|
);
|
|
|
|
ALTER TABLE receipts
|
|
ALTER COLUMN transaction_id SET NOT NULL;
|
|
|
|
ALTER TABLE receipts
|
|
ADD CONSTRAINT transaction_fk
|
|
FOREIGN KEY (transaction_id)
|
|
REFERENCES transactions (id)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE receipts
|
|
DROP COLUMN block_id;
|