ไม่จริงเลย วันนี้พบปัญหาว่า ต้อง Port Project ที่มีคนเขียนไว้ด้วย .net (C#) มาเป็น Erlang จริงๆ มันก็ไม่ยากหรอก แต่ปัญหาใหญ่ที่สุดตอนนี้คือการ Port ส่วนฐานข้อมูล Oracle กว่า 30 Tables ที่สำคัญบาง Table มีขนาด 300 fields (โหดโพด...)
จะให้เขียน Statement ตรงๆ คงมึนกันไปข้าง เลยลองค้นดูพบ ErlSQL โดย Yariv (เพื่อนผมเรียก Yariv ว่า โต ซิลลี่ฟูล เขาบอกว่า หน้าคล้ายๆ โต)
http://yarivsblog.blogspot.com/2006/09/introducing-erlsql-easy-expression-and.html
Yariv เขียน Module อำนวยความสะดวกในการ Generate SQL statement ชื่อ ErlSQL ไว้เมื่อปี 2008 ซึ่งปัจจุบันเป็นส่วนหนึ่งของ ErlyWeb 0.7.2
https://github.com/yariv/erlyweb
ผมเอามาเฉพาะ ErlSQL.erl แล้วให้ Rebar จัดการเข้ากับ Project ปัจจุบัน (ก็แค่ copy ไปไว้ใน src folder นั่นแหละ)
เวลาใช้ก็แค่
1> erlsql:sql({insert,project,[{foo,5},{baz,"bob"}]}).
[<<"INSERT INTO ">>,<<"project">>,40,
[<<"foo">>,44,<<"baz">>],
<<") VALUES ">>,
[40,[<<"5">>,44,<<"'bob'">>],41]]
2>
แหม่...สะดวกจริงๆ...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น