Discord.py Railway json

lightdever
TRIAL

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?

Solved

0 Replies

lightdever
TRIAL

5 months ago

N/A


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?


lightdever
TRIAL

5 months ago

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)


lightdever
TRIAL

5 months ago

i'll try


lightdever
TRIAL

5 months ago

it wont work 😦


lightdever
TRIAL

5 months ago

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")


lightdever
TRIAL

5 months ago

Does this kind of don't work in railway?


lightdever
TRIAL

5 months ago

Is there another solution?


lightdever
TRIAL

5 months ago

Just a want to way to save informations


lightdever
TRIAL

5 months ago

If possible with json


5 months ago

what's your current volume mount path?


lightdever
TRIAL

5 months ago

don't have any


lightdever
TRIAL

5 months ago

is volume for saving files like json?


5 months ago

a volume is for saving any files


lightdever
TRIAL

5 months ago

ahh


lightdever
TRIAL

5 months ago

what path do i need to set my volume?


5 months ago

fragly has previously covered that question


lightdever
TRIAL

5 months ago

ok


lightdever
TRIAL

5 months ago

1341289389325549600


lightdever
TRIAL

5 months ago

It would just load the files that is saved in github and don't save


lightdever
TRIAL

5 months ago

Volume is in /data


lightdever
TRIAL

5 months ago

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


lightdever
TRIAL

5 months ago

ok


5 months ago

<:bruhdy:1330634189283917855>


lightdever
TRIAL

5 months ago

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