... | @@ -686,6 +686,12 @@ For a long time Kea had a concept of having major and minor versions of the sche |
... | @@ -686,6 +686,12 @@ For a long time Kea had a concept of having major and minor versions of the sche |
|
|
|
|
|
When a schema is changed, we always bump major version and minor always remains at zero. Technically, we could get rid of the minor version, but we want to keep it for backward compatibility *cough*. See rationale [here](https://gitlab.isc.org/isc-projects/kea/-/merge_requests/1257#note_220860).
|
|
When a schema is changed, we always bump major version and minor always remains at zero. Technically, we could get rid of the minor version, but we want to keep it for backward compatibility *cough*. See rationale [here](https://gitlab.isc.org/isc-projects/kea/-/merge_requests/1257#note_220860).
|
|
|
|
|
|
|
|
Historic upgrade scripts cannot be changed, unless there is a very serious problem that, if unfixed, would prevent people from using Kea. An example of a critical problem: the upgrade script fails on new version of MySQL or PostgreSQL and thus prevents Kea from being deployed.
|
|
|
|
|
|
|
|
When adding new schema, it is OK to edit it until it is released. Once released and users start using it, you can't edit anymore and any changes require introducing new schema version. If you feel that dealing with new schema upgrade script it too much, maybe the problem you're trying to solve is not significant after all? Remember that schema upgrade is troublesome for potentially thousands of users. Do not update schema, unless you really have to.
|
|
|
|
|
|
|
|
Rationale: the whole point of having schema version is to uniquely determine what is in the schema. If we release it schema X and later update the scripts, there will be some deployments with using original schema and others using the modified schema, both identified as X.
|
|
|
|
|
|
# Guidelines Adopted by Other Projects
|
|
# Guidelines Adopted by Other Projects
|
|
|
|
|
|
Other projects have their own coding guidelines. Here are some
|
|
Other projects have their own coding guidelines. Here are some
|
... | | ... | |