#python #postgresql #heroku #sqlalchemy #telegram
#python #postgresql #heroku #sqlalchemy #telegram
Вопрос:
Я использую шаблон бота на Python.
Для базы данных SQLALCHEMY я использую Elephant SQL, а приложение размещено на Heroku.
Когда я пытаюсь запустить бот Telegram, на Heroku появляется следующая ошибка:
2021-12-09T20:50:06.203420 00:00 app[worker.1]: sqlalchemy.exc.DataError: (psycopg2.errors.NumericValueOutOfRange) integer out of range
2021-12-09T20:50:06.203421 00:00 app[worker.1]:
2021-12-09T20:50:06.203421 00:00 app[worker.1]: [SQL: INSERT INTO users (user_id, username) VALUES (%(user_id)s, %(username)s)]
2021-12-09T20:50:06.203421 00:00 app[worker.1]: [parameters: {'user_id': 5077702275, 'username': 'Lena_MilizeBot'}]
Может кто-нибудь указать на ошибку?
Комментарии:
1.
5077702275
является большим значением для типа столбца. Лучше всего предположить, что столбец определяется какinteger
иselect 5077702275::int; ERROR: integer out of range
. Либо измените тип столбца наbigint
или сохраните значения в диапазоне, указанном здесь Числовые типы2. @Adrian Klaver Я отредактировал его, но это не сработало: (
3. Что и как редактировалось? Определить «не сработало»? Включить сообщения об ошибках. Если вы хотите получить ответ, вам необходимо предоставить подробную информацию о том, что вы делаете, поскольку мы не заглядываем вам через плечо. Добавьте ответ в качестве обновления к вашему вопросу.
Ответ №1:
Пришлось заменить int на BigInteger, и это сработало. Как справедливо указал Адриан в комментариях, нам нужно использовать «Bigint» для Postgresql. Однако для SQLALCHEMY значение равно BigInteger .