1. SQLite ডাটাবেসে সংযোগ করুন

SQLite হল একটি হালকা ডাটাবেস, এবং এর ডাটাবেসটি শুধুমাত্র একটি ফাইল, এটা খুব উপযুক্ত ছোট প্রকল্প বা টেস্টিং এনভায়রনমেন্টের জন্য।

এখানে SQLite এ সংযোগ করার পদক্ষেপ এবং স্বয়ংক্রিয় মাইগ্রেশন টুল চালানোর জন্য পদক্ষেপগুলি দেয়া হয়েছে:

প্রথম নিশ্চিত করুন যে আপনি SQLite এর জন্য Go ভাষার ড্রাইভার ইনস্টল করেছেন। আপনি নিম্নলিখিত কমান্ড ব্যবহার করে এটি ইনস্টল করতে পারেন:

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("স্কুয়াইলাইটে সংযোগ করতে ব্যর্থ: %v", err)
    }
    defer client.Close()

    // স্কিমা তৈরি বা আপডেট করতে স্বয়ংক্রিয় মাইগ্রেশন টুল চালান।
    if err = client.Schema.Create(context.Background()); err != nil {
        log.Fatalf("স্কিমা সম্পদ তৈরি করতে ব্যর্থ: %v", err)
    }
    
    // এখান থেকে ডাটাবেজ অপারেশন করতে শুরু করুন।
}

উপরের কোডটি প্রথমে প্রয়োজনীয় প্যাকেজগুলি ইমপোর্ট করে এবং SQLite ইন-মেমোরি ডাটাবেজের জন্য কানেকশন অবজেক্ট client তৈরি করে। এরপর এটি client.Schema.Create এক্সিকিউট করে স্কুয়াইলাইট ডাটাবেজ মাইগ্রেট করে। এই পদক্ষেপটি আপনি ডিফাইন করা স্কিমা অনুযায়ী ডাটাবেজে টেবিল স্বয়ংক্রিয়ভাবে তৈরি বা আপডেট করবে।

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("পোস্টগ্রেসে সংযোগ করতে ব্যর্থ: %v", err)
    }
    defer client.Close()

    // স্বয়ংক্রিয়ভাবে মাইগ্রেশন টুল চালান।
    if err = client.Schema.Create(context.Background()); err != nil {
        log.Fatalf("স্কিমা সম্পদ তৈরি করতে ব্যর্থ: %v", err)
    }
    
    // ক্লাইয়েন্ট ব্যবহার করে অন্যান্য ডাটাবেজ অপারেশন চালান।
}

এই কোডে, আপনার বাস্তব পরিবেশে সঠিক পোস্টগ্রেস কানেকশন তথ্যগুলি দিয়ে host, port, user, dbname, এবং password প্লেস করুন।

3. MySQL/MariaDB ডাটাবেসে সংযোগ করুন

MySQL হল একটি প্রচলিত ব্যবহৃত সম্পর্কিত ডাটাবেস পরিচালনা সিস্টেম, এবং MariaDB তার শাখার মধ্যে একটি। MySQL/MariaDB এ সংযোগ করার জন্য সাধারণভাবে চরম সেট (যেমন, utf8mb4) এবং সময় অঞ্চল (উদাহরণস্বরূপ, UTC) সেট করা প্রয়োজন।

প্রথমে মাইগ্রেশন টুলের জন্য গো ভাষার ড্রাইভারটি ইনস্টল করুন:

go get github.com/go-sql-driver/mysql

MySQL ডাটাবেসে সংযোগ করুন এবং কনফিগার করুন:

package main

import (
    "context"
    "log"
    "entdemo/ent"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // মাইলক্ষিক ক্লায়ন্ট শুরু করুন, অক্ষর সেট এবং সময় অঞ্চল সেট করুন।
    client, err := ent.Open("mysql", "username:password@tcp(localhost:3306)/dbname?parseTime=True&loc=Local&charset=utf8mb4,utf8")
    if err != nil {
        log.Fatalf("মাইএসকিউএলে সংযোগ করতে ব্যর্থ: %v", err)
    }
    defer client.Close()

    // ডাটা মাইগ্রেশন করুন।
    if err = client.Schema.Create(context.Background()); err != nil {
        log.Fatalf("স্কীমা সম্পদ তৈরি করতে ব্যর্থ: %v", err)
    }
    
    // ডাটাবেস অপারেশন এখান থেকে শুরু করুন।
}

দয়া করে পরিবর্তন করুন username, password, localhost, 3306, এবং dbname অনুযায়ী সংযোগ স্ট্রিংতে।

4. গ্রেমলিন ডাটাবেসে সংযোগ

গ্রেমলিন হলো অ্যাপাচি টিংকারপপ ফ্রেমওয়ার্কের গ্রাফ কুয়ারি ভাষা, এবং এটি বিভিন্ন গ্রাফ ডাটাবেস সিস্টেমে ব্যবহৃত হয়। এখানে দেখুন একটি উদাহরণ কিভাবে AWS Neptune ব্যবহার করে গ্রেমলিন গ্রাফ ডাটাবেসে সংযোগ স্থাপন করা যায়।

গ্রেমলিন সাপোর্ট সহ ent ফ্রেমওয়ার্ক ইনস্টল করুন:

go get entgo.io/ent/dialect/gremlin

গ্রেমলিন ডাটাবেসে সংযুক্ত হন:

package main

import (
    "log"
    "entdemo/ent"
    _ "entgo.io/ent/dialect/gremlin"
)

func main() {
    // গ্রেমলিন সার্ভার এন্ডপয়েন্টে সংযুক্ত হোন, এখানে স্থানীয় রানিং ব্যবহার উদাহরণ হিসাবে দেখানো হয়েছে।
    client, err := ent.Open("gremlin", "http://localhost:8182")
    if err != nil {
        log.Fatalf("গ্রেমলিনে সংযোগ স্থাপন করতে ব্যর্থ: %v", err)
    }
    defer client.Close()

    // গ্রাফ ডাটাবেস পরিচালনা করতে ক্লায়েন্টকে আগে নতুনভাবে শুরু করুন বা ব্যবহার করুন।
}

যদি আপনি AWS Neptune সহ মেঘসেরা ব্যবহার করছেন, http://localhost:8182 ঠিকানা এবং পোর্ট কে বাদ্যকরণ করে নেপচুনের সার্ভার এড্রেস এবং পোর্ট দিয়ে বদলান।