@0NordWind0

Как хранить баланс пользователя в разных валютах?

В моей базе данных есть таблица users.
Среди всех прочих, в таблице users имеются два столбца:

Balance - тип данных Decimal.
Currency - тип данных Enum, содержащей в себе четыре допустимых строковых значения: "RUB, "UAH", USD", "EUR".

В Balance хранятся данные о деньгах в долларовом эквиваленте.

Пользователь может отображать свой баланс в любой валюте. И он выбрал рубли.
Предположим, что пользователь пополнил баланс на 8000₽. На момент пополнения цена одного доллара за рубль была 80₽, поэтому в бд записывается ровно 100. На следующий день курс упал до 70₽.

Как объяснять пользователю, куда пропали его деньги?
Есть ли способы более логично хранить баланс при условии, что пользователь может пополнять посредством разных валют?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
@tukreb
Вы не должны указывать куда пропали деньги, так как они не должны ни куда пропадать вообще.
Пользователь выбирает тип валют в которой будет хранить и курс никак на это влиять не должен.
Если пользователь хочет хранит в нескольких видах валюты, значит храните в нескольких типах валюты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Обычно счет хранится в строго одной валюте. Если пользователь хочет оперировать разными
валютами то он заводит разные счета.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы