Gorm: تغيير اسم الأعمدة التي تم إنشاؤها بشكل افتراضي

تم إنشاؤها على ١٨ مايو ٢٠١٧  ·  3تعليقات  ·  مصدر: go-gorm/gorm

مرحبًا ، هل من الممكن تجاوز اسم الأعمدة: ID، created_at، updated_at، delete_at؟

بقدر ما أعرف ، يمكنني تعيين اسم الجدول على سبيل المثال مع الوظيفة:

func (StructType) TableName() string {
    return "MyCustomName"
}

هل ممكن الا مع الاعمدة؟ هذا لأن نموذج بيانات المشروع قد حدد بالفعل أسماء الحقول ، وعلى سبيل المثال ليس لدينا _updated_at_ ولكن _ModificationTimestamp_ لذا ، كيف يمكنني القيام بذلك؟

التعليق الأكثر فائدة

فقط لا تقم بتضمين المعدل الافتراضي في البنية الخاصة بك. إذا نظرت كيف يتم تعريفها ، فسترى:

type Model struct {
    ID        uint `gorm:"primary_key"`
    CreatedAt time.Time
    UpdatedAt time.Time
    DeletedAt *time.Time `sql:"index"`
}

يمكنك تحديد هذه الحقول في النموذج الخاص بك أو إنشاء نموذج أساسي خاص بك بأسماء مختلفة وتضمينه.

ال 3 كومينتر

http://jinzhu.me/gorm/models.html#conventions

// Overriding Column Name
type Animal struct {
    AnimalId    int64     `gorm:"column:beast_id"`         // set column name to `beast_id`
    Birthday    time.Time `gorm:"column:day_of_the_beast"` // set column name to `day_of_the_beast`
    Age         int64     `gorm:"column:age_of_the_beast"` // set column name to `age_of_the_beast`
}

smacker مرحبا ، شكرا لك. لكنني أحاول بالضبط أن أجعل gorm يأخذ اسمًا آخر للأعمدة التي يتم إنشاؤها تلقائيًا: created_at، updated_at، id. لقد جربت ما قلته ولكنه حدث خطأ لأنه على سبيل المثال تم تحديد العمود create_at بالفعل:
column "created_at" specified more than once)

فقط لا تقم بتضمين المعدل الافتراضي في البنية الخاصة بك. إذا نظرت كيف يتم تعريفها ، فسترى:

type Model struct {
    ID        uint `gorm:"primary_key"`
    CreatedAt time.Time
    UpdatedAt time.Time
    DeletedAt *time.Time `sql:"index"`
}

يمكنك تحديد هذه الحقول في النموذج الخاص بك أو إنشاء نموذج أساسي خاص بك بأسماء مختلفة وتضمينه.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات