-- Database initialization script for PostgreSQL
-- This will be executed when the container starts for the first time

-- Create database if it doesn't exist
CREATE DATABASE IF NOT EXISTS homework;

-- Switch to the homework database
\c homework;

-- Create tables (adjust according to your actual schema)
CREATE TABLE IF NOT EXISTS users (
    id SERIAL PRIMARY KEY,
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    role VARCHAR(50) NOT NULL DEFAULT 'User',
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Create indexes for better performance
CREATE INDEX IF NOT EXISTS idx_users_email ON users(email);

-- Insert sample data (remove in production)
INSERT INTO users (email, password_hash, role) VALUES
('admin@example.com', '$2a$11$example.hash.here', 'Admin'),
('user@example.com', '$2a$11$example.hash.here', 'User')
ON CONFLICT (email) DO NOTHING;