@创建数据库用户
(self, sid, data_name, username, password, address)
| 1136 | |
| 1137 | # 本地创建数据库 |
| 1138 | def __CreateUsers(self, sid, data_name, username, password, address): |
| 1139 | """ |
| 1140 | @创建数据库用户 |
| 1141 | |
| 1142 | """ |
| 1143 | sql_obj = self.get_sql_obj_by_sid(sid) |
| 1144 | sql_obj.execute("""CREATE USER "{}" WITH PASSWORD '{}';""".format(username, password)) |
| 1145 | sql_obj.execute("""GRANT ALL PRIVILEGES ON DATABASE "{}" TO "{}";""".format(data_name, username)) |
| 1146 | sql_obj.execute("""CREATE SCHEMA AUTHORIZATION "{}";""".format(username)) |
| 1147 | major_version = self.GetMainVersion(None) |
| 1148 | if major_version >= 15: |
| 1149 | sql_obj.execute("""GRANT USAGE, CREATE ON SCHEMA public TO "{}";""".format(username)) |
| 1150 | status, err_msg = sql_obj.use_database(data_name) |
| 1151 | #sql_obj.execute("""GRANT USAGE, CREATE ON SCHEMA public TO "{}";""".format(username)) |
| 1152 | sql_obj.execute("""GRANT USAGE, CREATE ON SCHEMA public TO "{}";""".format(username)) |
| 1153 | |
| 1154 | # # 授予 public schema 中所有表的权限 |
| 1155 | # sql_obj.execute("""GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "{}";""".format(username)) |
| 1156 | |
| 1157 | # # 授予 public schema 中所有序列的权限 |
| 1158 | # sql_obj.execute("""GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "{}";""".format(username)) |
| 1159 | |
| 1160 | # # 授予 public schema 中所有函数的权限 |
| 1161 | # sql_obj.execute("""GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO "{}";""".format(username)) |
| 1162 | |
| 1163 | # # 设置未来创建的表的默认权限(重要!) |
| 1164 | # sql_obj.execute("""ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO "{}";""".format(username)) |
| 1165 | # sql_obj.execute("""ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO "{}";""".format(username)) |
| 1166 | # sql_obj.execute("""ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON FUNCTIONS TO "{}";""".format(username)) |
| 1167 | |
| 1168 | return True |
| 1169 | |
| 1170 | # def __CreateUsers2(self, sid, data_name, username, password, address): |
| 1171 | # """ |
no test coverage detected