Skip to content

Commit 1d60f2d

Browse files
authored
Merge pull request diesel-rs#2176 from porglezomp-misc/strip-scheme-from-sqlite-database-urls
Strip scheme from sqlite database urls
2 parents 882c5f1 + 745266d commit 1d60f2d

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

diesel/src/sqlite/connection/raw.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pub struct RawConnection {
1818
impl RawConnection {
1919
pub fn establish(database_url: &str) -> ConnectionResult<Self> {
2020
let mut conn_pointer = ptr::null_mut();
21-
let database_url = CString::new(database_url)?;
21+
let database_url = CString::new(database_url.trim_start_matches("sqlite://"))?;
2222
let connection_status =
2323
unsafe { ffi::sqlite3_open(database_url.as_ptr(), &mut conn_pointer) };
2424

diesel_tests/tests/connection.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,11 @@ fn managing_updated_at_for_table() {
7373
let new_time: NaiveDateTime = query.first(&connection).unwrap();
7474
assert!(old_time < new_time);
7575
}
76+
77+
#[test]
78+
#[cfg(feature = "sqlite")]
79+
fn strips_sqlite_url_prefix() {
80+
let mut path = std::env::temp_dir();
81+
path.push("diesel_test_sqlite.db");
82+
assert!(SqliteConnection::establish(&format!("sqlite://{}", path.display())).is_ok());
83+
}

0 commit comments

Comments
 (0)