lnd/sqldb/sqlc/migrations/000004_invoice_expiry_fix.up.sql
Andras Banki-Horvath 323af946e0
sqldb+invoices: add migration to fix incorrectly stored invoice expiries
Previously, when using the native schema, invoice expiries were incorrectly
stored as 64-bit values (expiry in nanoseconds instead of seconds), causing
overflow issues. Since we cannot determine the original values, we will set
the expiries for existing invoices to 1 hour with this migration.
2024-07-09 08:39:57 +02:00

14 lines
521 B
SQL

-- Update the expiry for all records in the invoices table. This is needed as
-- previously we stored raw time.Duration values which are 64 bit integers and
-- are used to express duration in nanoseconds however the intent is to store
-- invoice expiry in seconds.
-- Update the expiry to 86400 seconds (24 hours) for non-AMP invoices.
UPDATE invoices
SET expiry = 86400
WHERE is_amp = FALSE;
-- Update the expiry to 2592000 seconds (30 days) for AMP invoices
UPDATE invoices
SET expiry = 2592000
WHERE is_amp = TRUE;