/// <summary> /// Adds <see cref="PgPrivilegeCommand.Grant"/> and <see cref="PgPrivilegeCommand.Revoke"/> privileges. /// </summary> public static void Create(StreamWriter writer, [NullGuard.AllowNull] PgSchema oldSchema, PgSchema newSchema, SearchPathHelper searchPathHelper) { // Add new sequences foreach (var privilege in newSchema.Privileges) { if (oldSchema == null || !oldSchema.ContainsPrivilege(privilege)) { searchPathHelper.OutputSearchPath(writer); writer.WriteLine(); writer.WriteLine(BetaMessage); writer.WriteLine(privilege.Create()); } } if (oldSchema == null) { return; } // revert privileges foreach (var privilege in oldSchema.Privileges) { if (!newSchema.ContainsPrivilege(privilege)) { searchPathHelper.OutputSearchPath(writer); writer.WriteLine(); writer.WriteLine(BetaMessage); writer.WriteLine(privilege.CreateRevert()); } } }