{"record":{"id":"15b88133492eb980","repo":"diesel-rs/diesel","slug":"failed-to-create-trigger","errorCode":null,"errorMessage":"Failed to create trigger","messagePattern":"Failed to create trigger","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"diesel/src/sqlite/connection/mod.rs","lineNumber":1750,"sourceCode":"        })\n    }\n\n    fn register_diesel_sql_functions(&self) -> QueryResult<()> {\n        use crate::sql_types::{Integer, Text};\n\n        // This function has side effects (creates triggers), so it should not\n        // be deterministic. We use DIRECTONLY to prevent it from being called\n        // from malicious schema objects in untrusted databases.\n        functions::register::<Text, Integer, _, _, _>(\n            &self.raw_connection,\n            \"diesel_manage_updated_at\",\n            SqliteFunctionBehavior::DIRECTONLY,\n            |conn, table_name: String| {\n                conn.exec(&alloc::format!(\n                    include_str!(\"diesel_manage_updated_at.sql\"),\n                    table_name = table_name\n                ))\n                .expect(\"Failed to create trigger\");\n                0 // have to return *something*\n            },\n        )\n    }\n\n    fn establish_inner(database_url: &str) -> Result<SqliteConnection, ConnectionError> {\n        use crate::result::ConnectionError::CouldntSetupConfiguration;\n        let raw_connection = RawConnection::establish(database_url)?;\n        let conn = Self {\n            statement_cache: StatementCache::new(),\n            raw_connection,\n            transaction_state: AnsiTransactionManager::default(),\n            metadata_lookup: (),\n            instrumentation: DynInstrumentation::none(),\n            serialized_data: Vec::new(),\n        };\n        conn.register_diesel_sql_functions()\n            .map_err(CouldntSetupConfiguration)?;","sourceCodeStart":1732,"sourceCodeEnd":1768,"githubUrl":"https://github.com/diesel-rs/diesel/blob/6fa6ed01b24b24248ab2a611698d0a7c6a2e9120/diesel/src/sqlite/connection/mod.rs#L1732-L1768","documentation":"Registering the `diesel_manage_updated_at` helper failed while executing its trigger-creating SQL. The offending input is the SQLite connection or database schema state that rejected the trigger creation.","triggerScenarios":"Thrown at diesel/src/sqlite/connection/mod.rs:1750 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the database is writable and not locked","Check for a conflicting trigger on the target table","Register the function outside an active transaction if required"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6fa6ed01b24b24248ab2a611698d0a7c6a2e9120","analyzedAt":"2026-09-07T01:50:13.074Z","contentChangedAt":"2026-09-07T01:50:13.074Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}