diff --git a/persistence/README.md b/persistence/README.md new file mode 100644 index 00000000..42d750f6 --- /dev/null +++ b/persistence/README.md @@ -0,0 +1,29 @@ +## Database Persistence ## +The persistence package includes classes to store different class objects in a Postgres database. + +### models ### +This defines models for all class objects that we want to persist. It is used for Object Relation Mapping (ORM) +of the class objects to database table columns + +### repositories ### +This defines repository classes that contain CRUD methods for database operations. + +### config_db ## +This Python file is a configuration class that contains variables that map to configuration parameters in a .env file. +It also contains a method ``def conn_string()`` which returns the connection string to a Postgres database. + +### Base ## +This class has a constructor that establishes a database connection and returns a reference for database-related CRUD operations. + +### db_migration ### +This Python file is in the root of Hub and should be run to create all the required Postgres database tables + +### Database Configuration Parameter ### +A .env file (or environment variables) with configuration parameters described below are needed to establish a database connection: +``` +DB_NAME=postgres-database-name +DB_USER=postgres-database-user +DB_PASSWORD=postgres-database-password +DB_HOST=database-host +DB_PORT=database-port +```