You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Or to create the default location for the database:
./storage/tracker/lib/database/
Otherwise, you get this error:
TORRUST_TRACKER_CONFIG_TOML_PATH=./share/default/config/tracker.udp.benchmarking.toml torrust-tracker
Loading extra configuration from file: `./share/default/config/tracker.udp.benchmarking.toml` ...
2024-08-07T14:37:42.754632Z ERROR r2d2: unable to open database file: ./storage/tracker/lib/database/sqlite3.db
Besides, the database is created and tables too.
I think the app should not:
Require any DB configuration or storage folder.
Or create any DB file or tables.
If none of the features requiring persistency is enabled.
I think the problem is we create the tables when we instantiate the DB driver:
pubfnbuild(driver:&Driver,db_path:&str) -> Result<Box<dynDatabase>,Error>{let database = match driver {Driver::Sqlite3 => Builder::<Sqlite>::build(db_path),Driver::MySQL => Builder::<Mysql>::build(db_path),}?;
database.create_database_tables().expect("Could not create database tables.");Ok(database)}
I think we should move that logic out of the driver constructor and use an internal flag to call create_database_tables only once (the first time the driver is used).
Usually, when you run the tracker for benchmarking, you disable persistency completely.
Even if you don't use the database at all, you need to add either the database configuration:
Or to create the default location for the database:
Otherwise, you get this error:
Besides, the database is created and tables too.
I think the app should not:
If none of the features requiring persistency is enabled.
cc @da2ce7
The text was updated successfully, but these errors were encountered: