Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade: DB migration support #28

Open
SebastianElvis opened this issue Aug 8, 2024 · 0 comments
Open

upgrade: DB migration support #28

SebastianElvis opened this issue Aug 8, 2024 · 0 comments

Comments

@SebastianElvis
Copy link
Member

how will we support software upgrades for peripheral programs?
The context was that they used a wrong version of FP program for creating and registering FP over Euphrates devnet. The registration failed. Then they changed to use the correct version, and somehow the FP in DB follows a different schema compared to the correct version, and they have to remove the existing FP and its keys and start over.
We might face similar issues in practice, e.g., after we ship a new major version of a peripheral program, e.g., FP, it might have breaking changes in DB, and we might need to define migration functions for these peripheral programs as well.

from the moment we will release stable Babylon version (probably last testnet, definitly mainnet) we will need to care about backwards compatibility ie. properly version dependencies, have a matrix of supproted versions, perform db migrations, properly update changelogs.
More practically, for db migrations we will start shiping migrations scripts.
Example how lnd ship db migrations: https://github.com/lightningnetwork/lnd/tree/747abb4a0eb0aa7c7a59f4c15475760143ce7ab6/channeldb/migration12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant