โพสต์เมื่อ 1 ปี, 10 เดือน ago | มีผู้อ่านทั้งหมด 707 คน
บทความนี้เป็นบทความพิเศษจ้า.. สำหรับใครที่ลองเล่นตัว Django มาสักพักและรู้สึกว่าการใช้งานแบบฐานข้อมูล SQLite นั้นมันมีข้อจำกัดเรื่องของทำงานหลาย ๆ โปรเจคบนอยู่บน Cloud ซ้อนกันเยอะ การใช้งาน SQLite ก็อาจจะไม่ตอบโจทย์ในการใช้งานเท่าไหร่นัก แต่หากเป็นการพัฒนาแอปพลิเคชั่นแบบ Real World (ในที่นี้ผมหมายถึงพวกอุปกรณ์ IOT ทั้งหลายนะ) ฐานข้อมูลแบบ SQLite ก็ยังเป็นที่นิยมอย่างมาก
จริงๆ แล้วฐานข้อมูลแบบ SQLite และ PostgreSQL เป็นฐานข้อมูลที่ได้รับความนิยมค่อนข้างสูงมากในปัจจุบันครับที่สามารถใช้งานได้ฟรีและมีการพัฒนามาอย่างต่อเนื่องเสมอ เป็นเวลาหลายปีที่ผ่านมา ในปัจจุบันทั้งสองตัวยังอยู่ใน 10 อันดับฐานข้อมูลที่ได้รับความนิยมมากที่สุดอีกด้วย
SQLite เป็นฐานข้อมูลที่เหมาะกับข้อมูลจำนวนน้อยๆ เมื่อนำมาใช้กับงานเว็บไซต์หรือแอปพลิเคชั่นมือถือ เราจะเจอปัญหาเรื่องของการอ่านเขียนข้ออยู่อยู่ตลอดเวลา ซึ่งหากเป็นระบบที่ค่อนข้างใหญ่และมีการอ่านเขียนข้อมูลเยอะๆ ก็จะทำให้เว็บไซต์ของเราช้าขึ้นมาได้ เหมาะกับอุปกรณ์พกพา หรือแอปพลิเคชั่น ที่ไว้จำหรับจดบันทึก ระบบ IOT หรือแอปพลิเคชั่นที่อยู่ในช่วงการพัฒนามากกว่า
เมื่อเราต้องการความสมบูรณ์ของการเรียกใช้งานข้อมูลและสิทธิ์ในการเข้าถึงข้อมูลมากขึ้น ฐานข้อมูลมีขนาดใหญ่ขึ้น หรือเมื่อต้องการขยาย Scale งานออกไปเป็นหลายๆ ส่วนโดยใช้ข้อมูลจากฐานข้อมูลเดียว เป็นต้นครับ ทั้งนี้สามารถเลือกใช้งานได้ตามความเหมาะสมเลย..
โดยคำสั่งในการย้ายเราจะต้องทำข้อมูลให้ออกมาอยู่ในรูปของ json ก่อน โดยใช้คำสั่ง
python manage.py dumpdata > yourdatabase.json
จากนั้นให้ทำการเปลี่ยนข้อมูล Database ในไฟล์ Setting.py ให้เป็น PostgreSQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'yordatabase', ##ใส่ชื่อฐานข้อมูลของคุณ
'USER': 'needhobby',
'PASSWORD': '**************',
'HOST': '192.168.1.1', ##ใส่ที่อยู่ของฐานข้อมูล
'PORT': '5432',
}
}
python manage.py migrate --run-syncdb
และสุดท้ายให้พิมพ์คำสั่ง manage.py loaddata yourdatabase.json
python manage.py loaddata yourdatabase.json
เพียงเท่านี้ข้อมูลของคุณที่แต่เดิมบันทึกอยู่ในรูปแบบของ SQLite ก็จะเป็น PostgreSQL แล้วครับ