שילוב של Spanner עם GORM (ניב PostgreSQL)

‫GORM הוא כלי למיפוי יחסי בין אובייקטים בשפת התכנות Go. הוא מספק מסגרת למיפוי של מודל דומיין מונחה-עצמים למסד נתונים רלציוני.

אפשר לשלב מסדי נתונים של Spanner PostgreSQL עם GORM באמצעות מנהל ההתקן הסטנדרטי pgx של PostgreSQL ו-PGAdapter.

הגדרת GORM עם מסדי נתונים של Spanner PostgreSQL-dialect

  1. מוודאים ש-PGAdapter פועל באותה מכונה שבה פועלת האפליקציה שמתחברת באמצעות GORM ל-Spanner.

    מידע נוסף זמין במאמר בנושא הפעלת PGAdapter.

  2. מוסיפים לאפליקציה הצהרת ייבוא עבור הניב GORM של PostgreSQL. זהו אותו דרייבר שבו משתמשים בדרך כלל עם מסד נתונים של PostgreSQL.

  3. מציינים את localhost ואת 5432 כמארח וכפורט של שרת מסד הנתונים במחרוזת החיבור של GORM. ‫GORM דורש שם משתמש וסיסמה במחרוזת החיבור. ‫PGAdapter מתעלם מהן.

    • אפשר גם לציין מספר יציאה אחר אם PGAdapter מוגדר להאזין ליציאה שונה מיציאת ברירת המחדל של PostgreSQL (5432).
    • ‫PGAdapter לא תומך ב-SSL. כברירת מחדל, GORM מנסה קודם להתחבר עם SSL מופעל. השבתת SSL בבקשת החיבור מזרזת את תהליך החיבור, כי היא דורשת הלוך ושוב אחד פחות.
    import (
      "gorm.io/driver/postgres"
      "gorm.io/gorm"
    )
    
    dsn := "host=localhost user=gorm password=gorm dbname=gorm port=5432 sslmode=disable"
    db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
    

אפשרויות נוספות לחיבור ל-PostgreSQL מפורטות במסמכי GORM עם PostgreSQL.

שימוש ב-GORM עם מסדי נתונים של Spanner ב-PostgreSQL

מידע נוסף על התכונות וההמלצות לשימוש ב-GORM עם Spanner זמין במאמרי העזרה ב-GitHub.

המאמרים הבאים