I just deployed a rails app, and I’m wanting to use an sqlite3 database. I have added the database to a disk, and now I’m just trying to figure out how to access it.
I tried specifying the location of the database file:
But upon deploy, I get this error:
Errno::ENOENT: No such file or directory @ dir_s_mkdir - /var/data/db
That directory definitely exists.
So I tried adding a symlink command to the build command:
ln -s /var/data/db/production.sqlite3 db/production.sqlite3
Now it can find the file, but gives me the error that the file cannot be opened. Permissions all seem correct.
How do I access the sqlite3 database on my disk from my Rails app?
I tried to create a new database as part of the build command. This is what I received:
Jun 18 06:08:51 AM Database not found
Jun 18 06:08:51 AM Couldn't create '/var/data/db/production.sqlite3' database. Please check your configuration.
Jun 18 06:08:53 AM Caused by:
Jun 18 06:08:53 AM Errno::ENOENT: No such file or directory @ dir_s_mkdir - /var/data/db
Could it be that the drive has not yet been mounted at that point in the deploy?
/var/data' instead of /var/data/db`. This is what it said:
Jun 18 09:31:25 AM Errno::EROFS: Read-only file system @ dir_s_mkdir - /var/data
Why would my mount be read only? I can write to it from SSH, so I don’t understand why the deploy can’t write to it. Permissions are 775.
We’ve followed up with the support ticket opened also about this.
Disks are attached to a service at deploy time - they are not available at build time.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.