The relationship between the postgresql database docker and the python docker
Semi functional: items can be added or deleted
To deploy - from the root folder:
docker-compose up -d --build
Database is available on localhost:5432
To switch containers off:
docker-compose down -v
To deploy - from the root folder:
docker-compose -f docker-compose.prod.yml up -d --build
To build the data base with initial tables & values:
docker-compose -f docker-compose.prod.yml exec web python manage.py create_db
docker-compose -f docker-compose.prod.yml exec web python manage.py seed_db
To switch containers off:
docker-compose -f docker-compose.prod.yml down -v
To add new hero (develompent):
docker-compose -f docker-compose.yml exec web python manage.py addhero "Lenin" "Red" "22.02.2022"
or (production):
docker-compose -f docker-compose.prod.yml exec web python manage.py addhero "Lenin" "Red" "22.02.2022"
To add new slogan:
docker-compose -f docker-compose.yml exec web python manage.py addslogan "Lenin" "Power to the Soviets!!!"
docker-compose -f docker-compose.prod.yml exec web python manage.py addslogan "Lenin" "Power to the Soviets!!!"
To add story:
docker-compose -f docker-compose.yml exec web python manage.py addstory "Lenin" "Was a man"
docker-compose -f docker-compose.prod.yml exec web python manage.py addstory "Lenin" "Was a man"
To add clash:
docker-compose -f docker-compose.yml exec web python manage.py addclash
docker-compose -f docker-compose.prod.yml exec web python manage.py addclash
To delete hero:
docker-compose -f docker-compose.yml exec web python manage.py deletehero "Lenin"
docker-compose -f docker-compose.prod.yml exec web python manage.py deletehero "Lenin"
(develompent):
docker-compose exec db psql --username=azatnv --dbname=azatnv_db
(production):
docker-compose exec db psql --username=azatnv --dbname=azatnv_db_prod
- hero_id = Column(Integer, primary_key = True)
- name = Column(String(20), nullable = False), UniqueConstraint
- side = Column(String(20), nullable = False)
- birthday = Column(DateTime(timezone = True), nullable = False)
- slogan_id = Column(Integer, primary_key = True)
- hero_id = Column(Integer, ForeignKey('hero.hero_id', ondelete="CASCADE"))
- moto_id = Column(Integer, nullable = False)
- moto = Column(String(200), nullable = False), UniqueConstraint
- clash_id = Column(Integer, primary_key = True)
- hero_1_id = Column(Integer, ForeignKey('hero.hero_id', ondelete="set null"))
- hero_1_slogan_id = Column(Integer, ForeignKey('slogan.slogan_id', ondelete="set null"))
- hero_2_id = Column(Integer, ForeignKey('hero.hero_id', ondelete="set null"))
- hero_2_slogan_id = Column(Integer, ForeignKey('slogan.slogan_id', ondelete="set null"))
- winner = Column(Integer, nullable = False)
- story_id = Column(Integer, primary_key = True)
- hero_id = Column(Integer, ForeignKey('hero.hero_id', ondelete="CASCADE")), UniqueConstraint
- story = Column(String(500), nullable = False), UniqueConstraint