# Preporation for lab 8
## 1 Create db faker
Study presented python script and be reardy to use it during next lab.
### Short manual
Before the lab you should familiar to make some fake data within a shout time. One of the way is to use the following `create_faker.py` python script:
```python=
# create db
# psql -d template1
import psycopg2
from faker import Faker
# https://stackabuse.com/working-with-postgresql-in-python/
con = psycopg2.connect(database="dbcourse", user="user",
password="pwd", host="127.0.0.1", port="5000")
print("Database opened successfully")
cur = con.cursor()
cur.execute('''CREATE TABLE CUSTOMER
(ID INT PRIMARY KEY NOT NULL,
Name TEXT NOT NULL,
Address TEXT NOT NULL,
review TEXT);''')
print("Table created successfully")
fake = Faker()
for i in range(1000):
print(i)
cur.execute("INSERT INTO CUSTOMER (ID,Name,Address,review) VALUES ('"+ str(i)+"','"+fake.name()+"','"+fake.address()+"','"+fake.text()+"')")
con.commit()
```
This script requres`psycopg2-binary` and `faker` to be installed:
```shell
pip install psycopg2-binary faker
```
The presented `create_faker.py` python script works well with any istalled postgreSQL. The presented connect configurations were done for the following `docker-compose.yml` configuration.
```docker-compose
version: '3'
services:
postgresql:
container_name: postgresql
image: postgres
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pwd
- POSTGRES_DB=dbcourse
restart: always
ports:
- 5000:5432
networks:
- local_net
volumes:
- $PWD/pgdata:/var/lib/postgresql/data
adminer:
container_name: adminer
image: adminer
restart: always
ports:
- 8000:8080
networks:
- local_net
networks:
local_net: {}
```
## 2 Import DVD rental database
Using the DVD rental database (available on Moodle), import in on your local database following the guide provided.
https://www.postgresqltutorial.com/postgresql-getting-started/load-postgresql-sample-database/