#python #sqlalchemy #pymysql
Вопрос:
Я использую SQLAlchemy 1.3.22 и выполняю массовую вставку тысяч строк. При возникновении ошибки базы данных исключение SQLAlchemy ProgrammingError, возникающее в консоли, выводит запрос и все значения. Несмотря на то, что я разделяю вставки, это все равно выводит невероятное количество мусора на консоль, которое скрывает фактическое сообщение об ошибке во многих тысячах строк в консоли, отнимает много времени и может даже замедлить/заморозить среду разработки, пока она не будет завершена.
Я попытался поискать, есть ли какой-либо способ контролировать этот вывод-я все еще хочу видеть исключения и сообщение об ошибке, но просто ограничьте дополнительную печать SQL и его тысячи аргументов (он печатает предложение long VALUES и все, что он заменит в эти заполнители).
Разделение на более мелкие фрагменты не является хорошим решением, поскольку это негативно влияет на производительность и на самом деле не решает проблему, если только фрагменты не очень малы. Я могу поймать исключение и попытаться повторно вызвать его с помощью усеченного сообщения, но это тоже кажется банальным. Надеюсь, мне просто не хватает способа контролировать формат ошибок…