Open vgeorge opened 5 months ago
This is a great idea @vgeorge.
It looks like using Goggle Drive would be easier for managing the data as most of the team should familiar with it. It there any reason we should not use it?
What I can see is that we need access to the data when we want to automate deployments, I'm not sure Google Drive allows programatic access. I think better ways to manage this are:
Background
The data used by the web application is read-only, but the underlying model is under active development and will change over time. To ensure the platform remains stable during data updates, we need to implement a robust data management strategy.
Versioning Approach
A simplified versioning approach can help managing changes in the seed data packages and maintain stability.
If a breaking change occurs, such as a change in column type or name, a new version of the data files will be placed in a new folder with a versioned name. Adding new columns is also considered a breaking change because it might cause the ingest process to fail.
New versions will start with the suffix
-dev
to indicate they are under active development. Once a version has been sufficiently tested, the-dev
suffix will be removed, indicating it is a final version with no further breaking changes.Example:
v0
v0
admin_centroids.gpkg
,admin_limits.gpkg
v1-dev
v1-dev
admin_centroids.gpkg
,admin_limits.gpkg
,airports.gpkg
v1
v1
admin_centroids.gpkg
,admin_limits.gpkg
,airports.gpkg
Data Management
Data files will be stored in the cloud service like Google Drive or S3. The web app will implement a basic check in the seed process to ensure the data version matches the required version. This will help us avoid any potential issues caused by incompatible data updates.
To Discuss
cc @oliverroick @wrynearson @cameronkruse