risedev/task/
sql_server_service.rs1use crate::SqlServerConfig;
16use crate::task::docker_service::{DockerService, DockerServiceConfig};
17
18impl DockerServiceConfig for SqlServerConfig {
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 ("ACCEPT_EULA".to_owned(), "Y".to_owned()),
34 ("MSSQL_AGENT_ENABLED".to_owned(), "true".to_owned()),
35 ("MSSQL_SA_PASSWORD".to_owned(), self.password.clone()),
36 ]
37 }
38
39 fn ports(&self) -> Vec<(String, String)> {
40 vec![(self.port.to_string(), "1433".to_owned())]
41 }
42
43 fn data_path(&self) -> Option<String> {
44 self.persist_data
45 .then(|| "/var/lib/sqlserver/data".to_owned())
46 }
47}
48
49pub type SqlServerService = DockerService<SqlServerConfig>;