Initial commit - Church Music Database

This commit is contained in:
2026-01-27 18:04:50 -06:00
commit d367261867
336 changed files with 103545 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
-- Grant Full Permissions to songlyric_user
-- This ensures the application user can perform all operations
-- Run as: psql -h 192.168.10.130 -U postgres -d church_songlyric -f grant_full_permissions.sql
\echo '============================================================'
\echo 'GRANTING FULL PERMISSIONS TO songlyric_user'
\echo '============================================================'
-- Grant all privileges on database
GRANT ALL PRIVILEGES ON DATABASE church_songlyric TO songlyric_user;
\echo '✅ Database privileges granted'
-- Grant all privileges on schema
GRANT ALL PRIVILEGES ON SCHEMA public TO songlyric_user;
GRANT USAGE ON SCHEMA public TO songlyric_user;
\echo '✅ Schema privileges granted'
-- Grant all privileges on all existing tables
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO songlyric_user;
\echo '✅ Table privileges granted'
-- Grant all privileges on all sequences
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO songlyric_user;
\echo '✅ Sequence privileges granted'
-- Grant all privileges on all functions
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO songlyric_user;
\echo '✅ Function privileges granted'
-- Make songlyric_user the owner of all tables (this ensures full control)
ALTER TABLE songs OWNER TO songlyric_user;
ALTER TABLE profiles OWNER TO songlyric_user;
ALTER TABLE plans OWNER TO songlyric_user;
ALTER TABLE plan_songs OWNER TO songlyric_user;
ALTER TABLE profile_songs OWNER TO songlyric_user;
ALTER TABLE profile_song_keys OWNER TO songlyric_user;
\echo '✅ Table ownership transferred'
-- Set default privileges for future objects (IMPORTANT: persists after restart)
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO songlyric_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO songlyric_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON FUNCTIONS TO songlyric_user;
\echo '✅ Default privileges set for future objects'
-- Grant CREATE privilege on schema (for creating new tables/indexes)
GRANT CREATE ON SCHEMA public TO songlyric_user;
\echo '✅ CREATE privilege granted'
-- Ensure songlyric_user can connect
GRANT CONNECT ON DATABASE church_songlyric TO songlyric_user;
\echo '✅ CONNECT privilege granted'
\echo ''
\echo '============================================================'
\echo '✅ PERMISSIONS GRANTED SUCCESSFULLY'
\echo '============================================================'
\echo ''
\echo 'songlyric_user now has:'
\echo ' ✅ Full ownership of all tables'
\echo ' ✅ All privileges on existing objects'
\echo ' ✅ Default privileges for future objects'
\echo ' ✅ CREATE privileges on schema'
\echo ' ✅ Permissions persist after restart'
\echo ''
\echo 'Verify permissions:'
\echo ' psql -h 192.168.10.130 -U songlyric_user -d church_songlyric -c "\\dt"'
\echo ''