chore: sync submodule state (parent ref update)
Made-with: Cursor
This commit is contained in:
85
scripts/grant-database-permissions.sh
Executable file
85
scripts/grant-database-permissions.sh
Executable file
@@ -0,0 +1,85 @@
|
||||
#!/bin/bash
|
||||
# Grant Database Permissions for dbis user
|
||||
# Run this on the Proxmox host to grant permissions in the database container
|
||||
|
||||
set -e
|
||||
|
||||
VMID="${VMID:-10100}"
|
||||
DB_NAME="${DB_NAME:-dbis_core}"
|
||||
DB_USER="${DB_USER:-dbis}"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Granting Database Permissions"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "VMID: $VMID"
|
||||
echo "Database: $DB_NAME"
|
||||
echo "User: $DB_USER"
|
||||
echo ""
|
||||
|
||||
# Check if pct command exists (must run on Proxmox host)
|
||||
if ! command -v pct &> /dev/null; then
|
||||
echo "❌ Error: This script must be run on the Proxmox host (pct command not found)"
|
||||
echo ""
|
||||
echo "Alternative: Run these commands manually:"
|
||||
echo " ssh root@192.168.11.10"
|
||||
echo " pct exec $VMID -- bash"
|
||||
echo " su - postgres -c \"psql -d $DB_NAME\""
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if container exists
|
||||
if ! pct list | grep -q "^\s*$VMID\s"; then
|
||||
echo "❌ Error: Container $VMID not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Step 1: Granting database-level permissions..."
|
||||
pct exec "$VMID" -- bash -c "su - postgres -c \"psql -d postgres << 'EOF'
|
||||
GRANT CONNECT ON DATABASE $DB_NAME TO $DB_USER;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;
|
||||
ALTER USER $DB_USER CREATEDB;
|
||||
EOF\""
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Failed to grant database-level permissions"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Database-level permissions granted"
|
||||
echo ""
|
||||
|
||||
echo "Step 2: Granting schema-level permissions..."
|
||||
pct exec "$VMID" -- bash -c "su - postgres -c \"psql -d $DB_NAME << 'EOF'
|
||||
GRANT ALL ON SCHEMA public TO $DB_USER;
|
||||
GRANT CREATE ON SCHEMA public TO $DB_USER;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO $DB_USER;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO $DB_USER;
|
||||
EOF\""
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Failed to grant schema-level permissions"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Schema-level permissions granted"
|
||||
echo ""
|
||||
|
||||
echo "Step 3: Verifying permissions..."
|
||||
pct exec "$VMID" -- bash -c "su - postgres -c \"psql -d $DB_NAME -c 'SELECT current_user, current_database();'\"" > /dev/null 2>&1
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Permissions verified - user $DB_USER can connect to $DB_NAME"
|
||||
else
|
||||
echo "⚠️ Verification had issues, but permissions may still be granted"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "✅ Database permissions granted!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Next step: Run the migration from your local machine:"
|
||||
echo " cd /home/intlc/projects/proxmox/dbis_core"
|
||||
echo " ./scripts/run-chart-of-accounts-migration.sh"
|
||||
Reference in New Issue
Block a user