a year ago
I use discord.py and use json file to save user informations but it doesn't work in railway how can I solve this issue?
31 Replies
a year ago
You store data in a json file? That's so based I used to do that
Althouh I'd recommend just using a database, it's much easier that way. If you have to use a json file though then store it within a [volume ](), that way the data will persist between deployments
Anyway, what doesn't work about it?
So it stores it in the volume but I think the bot.py can't modify the json files so when we restart it rollbacks
a year ago
If there was a permission issue regarding writing to the file then I'm sure python would've wrote an error
are you sure you have the volume mounted on the correct location?
if your app stores the json file in /data then you might have to mount the volume to /app/data
a year ago
(assuming you're using nixpacks)
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) WORD_DATA_FILE = os.path.join(BASE_DIR, "word_data.json") BALANCE_DATA_FILE = os.path.join(BASE_DIR, "bankbalance.json") ATTENDANCE_DATA_FILE = os.path.join(BASE_DIR, "attendance.json") HISTORY_DATA_FILE = os.path.join(BASE_DIR, "history.json")
a year ago
what's your current volume mount path?
a year ago
a volume is for saving any files
a year ago
fragly has previously covered that question
BASEDIR = os.path.dirname(os.path.abspath("/data")) WORDDATAFILE = os.path.join(BASEDIR, "worddata.json") BALANCEDATAFILE = os.path.join(BASEDIR, "bankbalance.json")
ATTENDANCEDATAFILE = os.path.join(BASEDIR, "attendance.json") HISTORYDATAFILE = os.path.join(BASEDIR, "history.json")
a year ago
you would want to add logging to print those paths to make sure they are correct
a year ago
<:bruhdy:1330634189283917855>
I'll figure it out with db because json is too old thank you for helping 😄
a year ago
@Fragly solve time
a year ago
Oh true, thank you!
a year ago
!s
Status changed to Solved dev • 12 months ago
