При сохранении из скрипта Flask
в SQLite
через Flask SQLAlchemy
мои целые числа сохраняются нормально.При сохранении в Mysql
мои целые числа сохраняются как 0.
У меня есть функция сохранения в Flask
- когда мои переменные dotenv
указывают на SQLite
, это сохраняет данные довольно хорошо.Когда мои dotenv
указывают Flask
на Mysql
, я получаю имя сигнала (string)
, идентификатор, но все мои цены (int)
записываются как ноль.Странно то, что мой интерпретатор выводит на консоль все данные перед сохранением, и это выглядит нормально - они перечислены ниже.
Я также получаю сигнал (как в сигнале сохранения Flask db), чтобы распечатать изменения', которая также показывает ожидаемые числа, и все же моя база данных не записывает данные должным образом.
Функция сохранения
def save(signal, zig_user):
signal_to_save = Signal(**signal)
print(f"Signal to save is {signal_to_save}")
print(f"signal {signal}")
print(f"signal takeProfitPrice1: {signal_to_save.takeProfitPrice1}")
zig_user.signals.append(signal_to_save)
db.session.commit()
консольный выводи для SQlite, и для MySQL
Signal to save is <Signal ETHBTC, price: 0.00001200 , targets: 0.000011400.000011900.00001300 from UserID: None>
signal {'type': 'buy', 'exchange': 'binance', 'market': 'ETHBTC', 'limitPrice': '0.00001400', 'price': '0.00001200', 'positionSizePercentage': '2', 'stopLossPrice': '0.00001000', 'takeProfitPrice1': '0.00001140', 'takeProfitPrice2': '0.00001190', 'takeProfitPrice3
': '0.00001300', 'key': 'fb470345fdb1ef832f0a2951f270be82'}
signal takeProfitPrice 10.00001140
сигнал сохранения колбы:
[2019-09-25 11:23:49,457] INFO in __init__: Added (2, 'ETHBTC', '0.00001140', '0.00001190', '0.00001300')
И все же, когда я смотрю в базу данных, это то, что я получаю:
SQLite: signal.takeProfitPrice1 0.00001140
MYSQL signal.takeProfitPrice1 0
У меня одна ошибка:
site-packages\pymysql\cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguou
s.")
Обновление
Вот как выглядит моя таблица sql:
Столбец: takeProfitPrice1 Определение: takeProfitPrice1 int (11)