private static void ParseAddForeignKey(Parser parser, PgTable table) { var columnNames = new List <string>(); parser.Expect("("); while (!parser.ExpectOptional(")")) { columnNames.Add(ParserUtils.GetObjectName(parser.ParseIdentifier())); if (parser.ExpectOptional(")")) { break; } parser.Expect(","); } var constraintName = ParserUtils.GenerateName(table.Name + "_", columnNames, "_fkey"); var constraint = new PgConstraint(constraintName); table.AddConstraint(constraint); constraint.Definition = parser.GetExpression(); constraint.TableName = table.Name; }