【发布时间】:2018-01-10 02:46:51
【问题描述】:
我从 json 源创建了一个 csv,我想用它在 LOAD DATA INFILE 的帮助下填充 memsql 数据库。
我为对话编写了一个打字稿脚本并使用库json2csv。
但它会将空条目的值留空,创建一个字符串,如:
foo, bar, , barz, 11 ,
但我希望我的输出是:
foo, bar, \N , barz, 11 , \N
对于我的空字段。否则,我的数据库将填写不同的默认值,例如 0 的数字应该是 NULL。
我发现自己在做:
const someEntitites.map((entity: Entity) => {
entity.foo = entity.foo === null ? '\\N' : entity.foo;
entity.bar = entity.bar === null ? '\\N' : entity.bar;
...
return entity;
}
所以基本上我对我的实体的方法进行了硬编码,而且我也容易出现错误,因为我可能忘记检查可空属性。如果我要导出另一个表,我必须从头再来一遍。
如何概括这一点,以便在脚本“发现”可空字段并相应设置标记的不同实体上使用它?
【问题讨论】:
-
您可以发布您的
Entity类型的详细信息吗? -
@jcalz 具体的实体类型应该是不相关的。请参阅我自己的答案。
-
Entity中的所有属性都可能为空吗?
标签: csv typescript export-to-csv