Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

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

$
0
0

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

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

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

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

  • Schema loader
  • Schema inspection
  • Diffing and planning

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

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

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

มีขั้นตอนการใช้งานร่วมกับ 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 1997

Trending Articles