public static void CreateAdminUser(this IDatabase database, IQuery context, string adminName, string adminPassword)
        {
            try {
                var user = context.CreateUser(adminName, adminPassword);

                // This is the admin user so add to the 'secure access' table.
                context.AddUserToGroup(adminName, SystemGroups.SecureGroup);

                context.GrantToUserOnSchema(database.Context.DefaultSchema(), user.Name, Privileges.SchemaAll, true);
                context.GrantToUserOnSchema(SystemSchema.Name, user.Name, Privileges.SchemaRead);
                context.GrantToUserOnSchema(InformationSchema.SchemaName, user.Name, Privileges.SchemaRead);

                SystemSchema.GrantToPublic(context);
            } catch (DatabaseSystemException) {
                throw;
            } catch (Exception ex) {
                throw new DatabaseSystemException("Could not create the database administrator.", ex);
            }
        }
        public static void CreateAdminUser(this IDatabase database, IQuery context, string adminName, string adminPassword)
        {
            try {
                var user = context.CreateUser(adminName, adminPassword);

                // This is the admin user so add to the 'secure access' table.
                context.AddUserToGroup(adminName, SystemGroups.SecureGroup);

                context.GrantToUserOnSchema(database.Context.DefaultSchema(), user.Name, Privileges.SchemaAll, true);
                context.GrantToUserOnSchema(SystemSchema.Name, user.Name, Privileges.SchemaRead);
                context.GrantToUserOnSchema(InformationSchema.SchemaName, user.Name, Privileges.SchemaRead);

                SystemSchema.GrantToPublic(context);
            } catch (DatabaseSystemException) {
                throw;
            } catch (Exception ex) {
                throw new DatabaseSystemException("Could not create the database administrator.", ex);
            }
        }