refactor: Реорганизация структуры для контейнеризации
- database/ папка в корне проекта для БД - public/ для статики и медиа (монтируются отдельно) - Обновлены docker-compose файлы с правильными томами
This commit is contained in:
@@ -12,8 +12,10 @@ ADMIN_URL=hidden-admin-panel/
|
|||||||
|
|
||||||
# ========================================
|
# ========================================
|
||||||
# База данных - SQLite (для разработки)
|
# База данных - SQLite (для разработки)
|
||||||
|
# Файл БД находится в папке database в корне проекта (будет смонтирована в Docker)
|
||||||
# ========================================
|
# ========================================
|
||||||
DB_ENGINE=django.db.backends.sqlite3
|
DB_ENGINE=django.db.backends.sqlite3
|
||||||
|
DB_NAME=database/db.sqlite3
|
||||||
DB_NAME=db.sqlite3
|
DB_NAME=db.sqlite3
|
||||||
|
|
||||||
# ========================================
|
# ========================================
|
||||||
|
|||||||
0
database/.gitkeep
Normal file
0
database/.gitkeep
Normal file
@@ -27,10 +27,11 @@ services:
|
|||||||
- DB_PASSWORD=${POSTGRES_PASSWORD:-postgres}
|
- DB_PASSWORD=${POSTGRES_PASSWORD:-postgres}
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
# Тома для статических файлов и медиа
|
# Тома для медиа, статики и БД
|
||||||
volumes:
|
volumes:
|
||||||
- django_staticfiles:/app/public/static
|
- public_media:/app/public/media
|
||||||
- django_mediafiles:/app/public/media
|
- public_static:/app/public/static
|
||||||
|
- database:/app/database
|
||||||
- ./logs:/app/logs
|
- ./logs:/app/logs
|
||||||
|
|
||||||
# Перенаправляем порты
|
# Перенаправляем порты
|
||||||
@@ -114,9 +115,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
driver: local
|
driver: local
|
||||||
django_staticfiles:
|
public_media:
|
||||||
driver: local
|
driver: local
|
||||||
django_mediafiles:
|
public_static:
|
||||||
|
driver: local
|
||||||
|
database:
|
||||||
driver: local
|
driver: local
|
||||||
|
|
||||||
# Сеть для сервисов
|
# Сеть для сервисов
|
||||||
|
|||||||
@@ -24,8 +24,10 @@ services:
|
|||||||
# Монтируем текущую директорию для разработки
|
# Монтируем текущую директорию для разработки
|
||||||
volumes:
|
volumes:
|
||||||
- .:/app
|
- .:/app
|
||||||
- django_staticfiles:/app/public/static
|
- ./public/static:/app/public/static
|
||||||
- django_mediafiles:/app/public/media
|
- ./public/media:/app/public/media
|
||||||
|
- ./database:/app/database
|
||||||
|
- ./logs:/app/logs
|
||||||
|
|
||||||
# Перенаправляем порты
|
# Перенаправляем порты
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -143,7 +143,9 @@ elif 'mysql' in DB_ENGINE:
|
|||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
# SQLite (по умолчанию для разработки)
|
# SQLite (по умолчанию для разработки)
|
||||||
db_path = get_env('DB_NAME', str(BASE_DIR / 'db.sqlite3'))
|
# DATABASE_ROOT: корень проекта (где лежит manage.py родительской папки)
|
||||||
|
PROJECT_ROOT = BASE_DIR.parent
|
||||||
|
db_path = get_env('DB_NAME', str(PROJECT_ROOT / 'database' / 'db.sqlite3'))
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
|||||||
Reference in New Issue
Block a user