Пытаюсь разобраться, как создать две таблицы в базе данных docker- контейнера. Вариантов много, но все плохо проходят.
На данный момент у меня есть такой docker-compose работающий
version: '3.1'
services:
auth-service:
container_name: auth-service
build: AuthApi/
ports:
- "8080:8080"
depends_on:
- db1
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db1:5432/AuthData
- SPRING_DATASOURCE_USERNAME=postgres
- SPRING_DATASOURCE_PASSWORD=postgres
- SPRING_JPA_HIBERNATE_DDL_AUTO=update
db1:
image: postgres:13
build:
context: ./
ports:
- "5433:5432"
environment:
- POSTGRES_DB=AuthData
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
Необходимо создать в db1 2 таблицы, выполнив sql-файл, который имеет путь относительно docker-compose следующий "AuthApi/src/main/resources/sql/createTables.sql"
Содержимое файла. createTables.sql
CREATE TABLE users (
id serial PRIMARY KEY,
nickname VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password INT NOT NULL,
created TIMESTAMP DEFAULT now()
);
CREATE TABLE sessions (
id serial PRIMARY KEY,
userId INT NOT NULL,
token VARCHAR(255) NOT NULL,
expires TIMESTAMP NOT NULL,
FOREIGN KEY (userId) REFERENCES users(id)
);
Ещё стоит учитывать, что будет вторая бд, в которой нужно будет создать через другой файл две таблицы (упомяну на всякий случай).