Несколько предложений, которые я мог бы сделать, - это использовать более обычные имена и подробные имена в полях базы данных.
Я бы подумал, что лучше использовать credit
или debit
как для вашего кошелька, но также вам даже нужно имя поля для этого? Стандартным является то, что debit
является отрицательным числом, а credit
является положительным числом. Похоже, что TopUp
и Payment
не обязательно должны быть отдельными моделями, поскольку они имеют много одинаковых полей. Это не «неправильно», скажем так, но кажется нерегулярным.
Возможно, вы захотите назвать Transaction
вместо WalletTransaction
, если нет других типов транзакций, но тогда вы можете использовать полиморфное отношение.
Для имен полей я бы был более многословен и использовал бы number
вместо no
.
Вам нужен booking_no
? Я ожидаю, что это будет первичный ключ просто id
, который будет постепенно назначаться при добавлении новой записи бронирования.