-- Instructions:
-- 1. Replace DB_USER_NAME with the name of the user.
-- 2. Replace DB_USER_PASSWORD with a decent password
--
-- My convention is to use trac_[projectname] as the username.
-- This makes it obvious what the user is for and which project
-- the user belongs to.
CREATE ROLE DB_USER_NAME LOGIN PASSWORD 'DB_USER_PASSWORD'
  NOINHERIT
   VALID UNTIL 'infinity';
ALTER ROLE DB_USER_NAME SET search_path=trac,public;

GRANT usage ON SCHEMA trac TO DB_USER_NAME;

GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.report_id_seq TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.ticket_id_seq TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.attachment TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.auth_cookie TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.component TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.enum TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.milestone TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.node_change TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.permission TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.report TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.revision TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac."session" TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac."system" TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.ticket TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.ticket_change TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.ticket_custom TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.version TO DB_USER_NAME;
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE trac.wiki TO DB_USER_NAME;
