1. الاتصال بقاعدة بيانات SQLite
SQLite هي قاعدة بيانات خفيفة الوزن، وقاعدات بياناتها هي ملفات فقط، مما يجعلها مناسبة جدًا للمشاريع الصغيرة أو بيئات الاختبار.
اليك الخطوات للاتصال بقاعدة بيانات SQLite وتشغيل أداة الترحيل التلقائي:
أولاً، تأكد من أنك قمت بتثبيت مشغل لغة Go لـ SQLite. يمكنك تثبيته باستخدام الأمر التالي:
go get github.com/mattn/go-sqlite3
ثم، في برنامجك Go، استخدم الكود التالي للاتصال بقاعدة البيانات وإنشاء المخطط:
package main
import (
"context"
"log"
"entdemo/ent"
_ "github.com/mattn/go-sqlite3"
)
func main() {
// افتح أو قم بإنشاء قاعدة البيانات SQLite في وضع الملف.
client, err := ent.Open("sqlite3", "file:ent?mode=memory&cache=shared&_fk=1")
if err != nil {
log.Fatalf("فشل الاتصال ب SQLite: %v", err)
}
defer client.Close()
// قم بتشغيل أداة الترحيل التلقائي لإنشاء أو تحديث مخطط قاعدة البيانات.
if err = client.Schema.Create(context.Background()); err != nil {
log.Fatalf("فشل إنشاء موارد المخطط: %v", err)
}
// ابدأ في استخدام العميل لعمليات قاعدة البيانات من هنا.
}
الكود أعلاه يستورد أولا الحزم الضرورية وينشئ كائن اتصال client
لقاعدة البيانات SQLite في الذاكرة. ثم ينفذ client.Schema.Create
لترحيل قاعدة البيانات SQLite. سيؤدي هذا الخطوة تلقائيًا إلى إنشاء الجداول في قاعدة البيانات أو تحديثها استنادًا إلى المخطط الذي قمت بتحديده.
2. الاتصال بقاعدة بيانات PostgreSQL
PostgreSQL هو نظام قاعدة بيانات شامل قائم على المصادر المفتوحة. يُستخدم على نطاق واسع في المشاريع المعقدة ويدعم مجموعة متنوعة من الميزات المتقدمة. لاستخدام PostgreSQL في Go، تحتاج إلى استخدام مشغله المقابل github.com/lib/pq
.
قم بتثبيت مشغل PostgreSQL:
go get github.com/lib/pq
الخطوات للاتصال بقاعدة بيانات PostgreSQL وتنفيذ الترحيل كما يلي:
package main
import (
"context"
"log"
"entdemo/ent"
_ "github.com/lib/pq"
)
func main() {
// قم بتهيئة العميل باستخدام معلومات اتصال قاعدة البيانات PostgreSQL الخاصة بك.
client, err := ent.Open("postgres", "host=localhost port=5432 user=myuser dbname=mydb password=mypassword")
if err != nil {
log.Fatalf("فشل الاتصال ب PostgreSQL: %v", err)
}
defer client.Close()
// قم بتشغيل أداة الترحيل تلقائيًا.
if err = client.Schema.Create(context.Background()); err != nil {
log.Fatalf("فشل إنشاء موارد المخطط: %v", err)
}
// أدخل عمليات قاعدة البيانات الأخرى باستخدام العميل.
}
في هذا الكود، قم بتغيير host
، port
، user
، dbname
، و password
بالقيم الصحيحة لمعلومات اتصال PostgreSQL في بيئتك الفعلية.
3. الاتصال بقاعدة بيانات MySQL/MariaDB
MySQL هي نظام إدارة قاعدة بيانات علاقية مستخدمة على نطاق واسع، وMariaDB هي أحد فروعها. يتطلب الاتصال بMySQL/MariaDB عادةً ضبط مجموعة الأحرف (مثل utf8mb4
) والمنطقة الزمنية (مثل UTC
).
أولاً، قم بتثبيت مشغل لغة Go لـ MySQL:
go get github.com/go-sql-driver/mysql
قم بالاتصال وضبط قاعدة بيانات MySQL كما يلي:
package main
import (
"context"
"log"
"entdemo/ent"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// قم بتهيئة العميل MySQL، وضبط مجموعة الأحرف والمنطقة الزمنية.
client, err := ent.Open("mysql", "username:password@tcp(localhost:3306)/dbname?parseTime=True&loc=Local&charset=utf8mb4,utf8")
if err != nil {
log.Fatalf("فشل الاتصال ب MySQL: %v", err)
}
defer client.Close()
// قم بتنفيذ ترحيل البيانات.
if err = client.Schema.Create(context.Background()); err != nil {
log.Fatalf("فشل إنشاء موارد المخطط: %v", err)
}
// تبدأ عمليات قاعدة البيانات من هنا.
}
تأكد من استبدال username
، password
، localhost
، 3306
، و dbname
في سلسلة الاتصال بالقيم المناسبة.
4. الاتصال بقاعدة بيانات Gremlin
Gremlin هو لغة استعلام الرسوم البيانية لإطار عمل Apache TinkerPop، ويُستخدم في مختلف أنظمة قواعد بيانات الرسوم البيانية. فيما يلي مثال على الاتصال بقاعدة بيانات الرسوم البيانية Gremlin باستخدام AWS Neptune.
قم بتثبيت إطار العمل ent مع دعم Gremlin:
go get entgo.io/ent/dialect/gremlin
اتصل بقاعدة البيانات Gremlin:
package main
import (
"log"
"entdemo/ent"
_ "entgo.io/ent/dialect/gremlin"
)
func main() {
// الاتصال بنقطة نهاية خادم Gremlin، مع استخدام التشغيل المحلي كمثال هنا.
client, err := ent.Open("gremlin", "http://localhost:8182")
if err != nil {
log.Fatalf("فشل الاتصال بـ Gremlin: %v", err)
}
defer client.Close()
// قم بتهيئة العميل أو استخدمه للتلاعب بقاعدة بيانات الرسوم البيانية.
}
إذا كنت تستخدم خدمة سحابية مثل AWS Neptune، قم بتعويض http://localhost:8182
بعنوان الخادم ومنفذ Neptune.