5 months 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?
0 Replies
5 months 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
5 months 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
5 months 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")
5 months ago
what's your current volume mount path?
5 months ago
a volume is for saving any files
5 months 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")
5 months ago
you would want to add logging to print those paths to make sure they are correct
5 months ago
<:bruhdy:1330634189283917855>
I'll figure it out with db because json is too old thank you for helping 😄
5 months ago
@Fragly solve time
5 months ago
Oh true, thank you!
5 months ago
!s
Status changed to Solved dev • 5 months ago