newdb.sql
· 868 B · MySQL
Raw
CREATE DATABASE [DB Name];
DO $$
DECLARE
db_name text default '[SAME ONE USED ABOVE]';
username text default '[APP NAME]';
user_password text default '[MAKE A PASSWORD];
BEGIN
EXECUTE format('CREATE USER %I WITH PASSWORD %L', username, user_password);
EXECUTE format('GRANT ALL PRIVILEGES ON DATABASE %I TO %I', db_name, username);
SET search_path TO db_name, public;
EXECUTE format('GRANT ALL PRIVILEGES ON SCHEMA public TO %I', username);
EXECUTE format('GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO %I', username);
EXECUTE format('GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO %I', username);
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO %I', username);
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO %I', username);
END $$;
1 | CREATE DATABASE [DB Name]; |
2 | DO $$ |
3 | DECLARE |
4 | db_name text default '[SAME ONE USED ABOVE]'; |
5 | username text default '[APP NAME]'; |
6 | user_password text default '[MAKE A PASSWORD]; |
7 | BEGIN |
8 | EXECUTE format('CREATE USER %I WITH PASSWORD %L', username, user_password); |
9 | |
10 | EXECUTE format('GRANT ALL PRIVILEGES ON DATABASE %I TO %I', db_name, username); |
11 | SET search_path TO db_name, public; |
12 | |
13 | EXECUTE format('GRANT ALL PRIVILEGES ON SCHEMA public TO %I', username); |
14 | EXECUTE format('GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO %I', username); |
15 | EXECUTE format('GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO %I', username); |
16 | EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO %I', username); |
17 | EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO %I', username); |
18 | END $$; |