risedev/task/
oracle_service.rs1use crate::OracleConfig;
16use crate::task::docker_service::{DockerService, DockerServiceConfig};
17
18impl DockerServiceConfig for OracleConfig {
19 fn id(&self) -> String {
20 self.id.clone()
21 }
22
23 fn is_user_managed(&self) -> bool {
24 self.user_managed
25 }
26
27 fn image(&self) -> String {
28 self.image.clone()
29 }
30
31 fn envs(&self) -> Vec<(String, String)> {
32 vec![
33 ("ORACLE_PWD".to_owned(), self.password.clone()),
34 ("ENABLE_ARCHIVELOG".to_owned(), "true".to_owned()),
35 ]
36 }
37
38 fn ports(&self) -> Vec<(String, String)> {
39 vec![(format!("{}:{}", self.address, self.port), "1521".to_owned())]
40 }
41
42 fn data_path(&self) -> Option<String> {
43 self.persist_data.then(|| "/opt/oracle/oradata".to_owned())
44 }
45}
46
47pub type OracleService = DockerService<OracleConfig>;