Quantcast
Viewing all articles
Browse latest Browse all 2045

ลองใช้งาน Atlas สำหรับทำ Database migration

Image may be NSFW.
Clik here to view.

เห็นใน feed มีการ share เครื่องมือในการทำ Database migration ชื่อว่า Atlas
สิ่งที่น่าสนใจคือ มีรูปแบบการทำงาน 2 แบบ คือ

  • Declarative
  • Versioned หรือ change-based migration

ตัวอย่างการทำงานแบบ Declarative แสดงดังรูป

มีขั้นตอนดังนี้

  • Schema loader
  • Schema inspection
  • Diffing and planning
Image may be NSFW.
Clik here to view.

โดย Atlas จะทำการตรวจสอบ schema ของ database
ระหว่าง schema ในการพัฒนาล่าสุด กับ schema ใน database ปลายทาง
จากนั้นจะทำการตรวจสอบการเปลี่ยนแปลงให้
และจะทำการ update ให้ตามการเปลี่ยนแปลงนั้น ๆ ให้เอง
ซึ่งถือว่าสะดวกมาก ๆ

โดยรูปแบบของ schema นั้น รองรับทั้ง SQL และ HCL (HashiCorp Configuration Language)
ซึ่ง HCL เป็นการจัดการเชิง declarative
ที่มีรูปแบบเดียวกับการจัดการ Infrastructure หรือ IaaS เช่น terraform นั่นเอง
ช่วยลด gap ตรงนี้ลงไป น่าสนใจกับแนวคิดมาก ๆ
และยังทำงานร่วมกับ Terraform ได้อีกด้วย

Image may be NSFW.
Clik here to view.

มาดูตัวอย่างการใช้งานแบบง่าย ๆ

มีขั้นตอนการใช้งานร่วมกับ docker ได้ดังนี้

[gist id="50aae90bcab0aae261243c616624a506" file="1.txt"]

ตัวอย่างของ HCL ที่ได้จากการ export ออกมาจาก database

[gist id="50aae90bcab0aae261243c616624a506" file="schema.hcl"]

จากนั้นทำการ migrate database โดย Atlas จะตรวจสอบการเปลี่ยนแปลงให้

ในตัวอย่างจะทำการเพิ่ม table ใหม่เข้ามา

[gist id="50aae90bcab0aae261243c616624a506" file="2.txt"]

เพียงเท่านี้ก็ใช้งานแบบง่าย ๆ ได้แล้ว
ดูง่ายดีนะ


Viewing all articles
Browse latest Browse all 2045

Trending Articles