Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mewujudkan Hubungan Utama Asing di Golang menggunakan GORM?

Bagaimana untuk Mewujudkan Hubungan Utama Asing di Golang menggunakan GORM?

DDD
DDDasal
2024-11-26 03:41:11198semak imbas

How to Create Foreign Key Relationships in Golang using GORM?

Hubungan Pangkalan Data dengan GORM: Mencipta Kunci Asing

Dalam bidang pangkalan data hubungan, kunci asing berfungsi sebagai pautan penting antara jadual berkaitan. Artikel ini bertujuan untuk membimbing anda tentang cara mewujudkan hubungan kunci asing dalam aplikasi Golang anda menggunakan GORM, perpustakaan ORM (Pemetaan Objek-Kaitan) yang popular.

Memahami Masalah

Anda telah menentukan dua model, User dan UserInfo, dan ingin mewujudkan hubungan kunci asing antara medan UID dan ID mereka. Cabarannya terletak pada memastikan bahawa medan UID dalam model UserInfo merujuk dengan betul medan id dalam model Pengguna.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu konfigurasikan kekangan kunci asing dalam skema pangkalan data anda selepas menentukan model anda. Ini boleh dicapai menggunakan langkah berikut:

1. Tambah Kunci Asing Semasa Migrasi

Selepas mencipta model, gunakan kaedah AddForeignKey GORM untuk menentukan hubungan kunci asing dalam penghijrahan pangkalan data anda. Tambahkan baris berikut pada kod migrasi anda:

db.Model(&models.UserInfo{}).AddForeignKey("u_id", "t_user(id)", "RESTRICT", "RESTRICT")

Barisan ini menetapkan kekangan kunci asing pada lajur UID dalam jadual t_user_info, merujuk lajur id dalam jadual t_user. Ia juga menetapkan gelagat kunci asing kepada "RESTRICT", yang akan menghalang pemasukan atau pemadaman data yang akan melanggar perhubungan.

2. Tetapkan Kunci Asing Persatuan

Dalam model Pengguna anda, anda telah menganotasi medan Pengguna dalam model UserInfo dengan teg kunci asing:

User User `gorm:"foreignkey:u_id;association_foreignkey:id"`

Teg ini memberitahu GORM bahawa Pengguna medan harus digunakan sebagai kunci asing dan ia dikaitkan dengan medan id dalam model Pengguna.

3. Kemas kini Pangkalan Data

Jalankan migrasi pangkalan data untuk menggunakan kekangan kunci asing pada skema anda.

Nota:

Bermula dengan GORM versi 2.0 , tidak perlu lagi menetapkan kekangan kunci asing secara eksplisit dalam anotasi model. Walau bagaimanapun, untuk versi terdahulu, penyelesaian yang digariskan di atas masih terpakai.

Dengan mengikuti langkah ini, anda telah mewujudkan hubungan kunci asing yang betul antara model Pengguna dan UserInfo anda, memastikan medan UID dalam model UserInfo merujuk dengan tepat data dalam jadual Pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Mewujudkan Hubungan Utama Asing di Golang menggunakan GORM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn