Presently the way that a user rolls back to a previous version of the database is by selecting a dataset and clicking 'apply to staging' or 'apply to production'. This runs the database initialization script on that server.
Desired implementation
Possible solutions:
a. Store a backup of the PostgreSQL database, and restore from that backup using existing (if any) best practices for doing PostgreSQL backups and rollbacks.
b. Back up our PostgreSQL database in another fashion, such as creating a separate DB instance for each dataset uploaded, or storing multiple tables of the same type in the database, e.g. "indicators-v1", "indicators-v2", etc, where "vX' represents the version number of the dataset.
Current implementation
Presently the way that a user rolls back to a previous version of the database is by selecting a dataset and clicking 'apply to staging' or 'apply to production'. This runs the database initialization script on that server.
Desired implementation
Possible solutions: a. Store a backup of the PostgreSQL database, and restore from that backup using existing (if any) best practices for doing PostgreSQL backups and rollbacks. b. Back up our PostgreSQL database in another fashion, such as creating a separate DB instance for each dataset uploaded, or storing multiple tables of the same type in the database, e.g. "indicators-v1", "indicators-v2", etc, where "v
X
' represents the version number of the dataset.