From 048adb59975e07d043748c1c12b474ea6f53b4b0 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Mon, 15 Dec 2025 15:25:25 +0330 Subject: [PATCH] update seeder --- fix-db-permissions-sudo.sh | 75 ++++++++++++++ src/seeders/data/admins.data.ts | 9 +- src/seeders/data/categories.data.ts | 4 + src/seeders/data/foods.data.ts | 145 +++++++++++++++++++++++++++ src/seeders/data/restaurants.data.ts | 29 ++++++ 5 files changed, 261 insertions(+), 1 deletion(-) create mode 100755 fix-db-permissions-sudo.sh diff --git a/fix-db-permissions-sudo.sh b/fix-db-permissions-sudo.sh new file mode 100755 index 0000000..cf1fe46 --- /dev/null +++ b/fix-db-permissions-sudo.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +# Script to fix PostgreSQL permissions using sudo (no password prompt for postgres user) +# This script reads DB_USER and DB_NAME from .env and grants necessary permissions + +# Function to load .env file properly (handles comments and special characters) +load_env() { + if [ -f .env ]; then + while IFS= read -r line || [ -n "$line" ]; do + [[ "$line" =~ ^[[:space:]]*# ]] && continue + [[ -z "${line// }" ]] && continue + + if [[ "$line" =~ ^[[:space:]]*([^#=]+)=(.*)$ ]]; then + key="${BASH_REMATCH[1]%% *}" + value="${BASH_REMATCH[2]}" + key=$(echo "$key" | xargs) + value=$(echo "$value" | sed -e 's/^["'\'']//' -e 's/["'\'']$//' | xargs) + export "$key=$value" + fi + done < .env + else + echo "Error: .env file not found" + exit 1 + fi +} + +# Load environment variables +load_env + +# Check if required variables are set +if [ -z "$DB_USER" ] || [ -z "$DB_NAME" ]; then + echo "Error: DB_USER or DB_NAME not set in .env file" + exit 1 +fi + +echo "Fixing PostgreSQL permissions for user: $DB_USER on database: $DB_NAME" +echo "Using sudo to connect as postgres user (no password needed)" +echo "" + +# Connect as postgres superuser using sudo (no password prompt) +sudo -u postgres psql -d postgres <