ฉันใช้ DMS เพื่อสร้างงานที่กำลังดำเนินอยู่ซึ่งจะปรับใช้ข้อมูลจากฐานข้อมูลการผลิตของฉันไปยังงานที่กำลังพัฒนา อย่างไรก็ตาม ต้องปิดบัง PII ดังนั้นฉันจึงสร้างชุดกฎเพื่อดำเนินการดังกล่าว
นักพัฒนาซอฟต์แวร์จะง่ายขึ้นหากความยาวของข้อมูลในแต่ละแถวยังคงเท่ากับในเวอร์ชันที่ใช้งานจริง ดังนั้นฉันจึงสร้างกฎเพื่อรักษาอักษรตัวแรกและเพิ่มบางตัว x หลังจาก.
นี่คือสคีมาการแปลงของฉัน:
{
"กฎ": [
{
"ประเภทกฎ": "การเลือก",
"rule-id": "1",
"ชื่อกฎ": "1",
"ตัวระบุตำแหน่งวัตถุ": {
"schema-name": "ฐานข้อมูลของฉัน",
"ชื่อตาราง": "my_table"
},
"rule-action": "รวม"
},
{
"ประเภทกฎ": "การเปลี่ยนแปลง",
"rule-id": "2",
"ชื่อกฎ": "2",
"rule-action": "เพิ่มคอลัมน์",
"กฎ-เป้าหมาย": "คอลัมน์",
"ตัวระบุตำแหน่งวัตถุ": {
"schema-name": "ฐานข้อมูลของฉัน",
"ชื่อตาราง": "my_table"
},
"ค่า": "TMPcontact_name",
"นิพจน์": "substr($contact_name, 0, 2) || แทนที่(printf('%.' || ความยาว($contact_name) || 'c', '/'), '/', 'x') ",
"ประเภทข้อมูล": {
"ประเภท": "สตริง",
"ความยาว": "50"
}
},
{
"ประเภทกฎ": "การเปลี่ยนแปลง",
"rule-id": "3",
"ชื่อกฎ": "3",
"rule-action": "ลบคอลัมน์",
"กฎ-เป้าหมาย": "คอลัมน์",
"ตัวระบุตำแหน่งวัตถุ": {
"schema-name": "ฐานข้อมูลของฉัน",
"ชื่อตาราง": "my_table",
"ชื่อคอลัมน์": "contact_name"
}
},
{
"ประเภทกฎ": "การเปลี่ยนแปลง",
"rule-id": "4",
"ชื่อกฎ": "4",
"rule-action": "เปลี่ยนชื่อ",
"กฎ-เป้าหมาย": "คอลัมน์",
"ตัวระบุตำแหน่งวัตถุ": {
"schema-name": "ฐานข้อมูลของฉัน",
"ชื่อตาราง": "my_table",
"ชื่อคอลัมน์" : "TMPcontact_name"
},
"ค่า": "contact_name"
}
]
}
ปัญหาคือ DMS ละเลยกฎ #4 หลังจากกระบวนการเสร็จสิ้น ชื่อของคอลัมน์ในเป้าหมายคือ TMPcontact_name. บันทึกใน CW ไม่มีข้อผิดพลาดหรือประกาศที่เกี่ยวข้องกับสิ่งนั้น ฉันไม่พบเอกสารที่เกี่ยวข้อง