@@ -2,7 +2,7 @@ use std::{collections::BTreeMap, sync::Arc};
2
2
3
3
use dbt_common:: FsResult ;
4
4
use dbt_serde_yaml:: JsonSchema ;
5
- use serde:: { Deserialize , Serialize } ;
5
+ use serde:: { Deserialize , Serialize , Serializer } ;
6
6
use serde_with:: skip_serializing_none;
7
7
8
8
// Type aliases for clarity
@@ -20,6 +20,8 @@ use super::{common::Constraint, data_tests::DataTests};
20
20
pub struct DbtColumn {
21
21
pub name : String ,
22
22
pub data_type : Option < String > ,
23
+ #[ serialize_always]
24
+ #[ serde( serialize_with = "serialize_dbt_column_desc" ) ]
23
25
pub description : Option < String > ,
24
26
pub constraints : Vec < Constraint > ,
25
27
pub meta : BTreeMap < String , YmlValue > ,
@@ -30,6 +32,13 @@ pub struct DbtColumn {
30
32
pub deprecated_config : ColumnConfig ,
31
33
}
32
34
35
+ fn serialize_dbt_column_desc < S > ( description : & Option < String > , s : S ) -> Result < S :: Ok , S :: Error >
36
+ where
37
+ S : Serializer ,
38
+ {
39
+ s. serialize_str ( description. as_deref ( ) . unwrap_or ( "" ) )
40
+ }
41
+
33
42
pub type DbtColumnRef = Arc < DbtColumn > ;
34
43
35
44
#[ skip_serializing_none]
0 commit comments