@@ -780,9 +780,60 @@ func getModelStructCode(data tmplData, importPaths []string, isEmbed bool, jsonN
780
780
structCode = strings .ReplaceAll (structCode , `bson:"id" json:"id"` , `bson:"_id" json:"id"` )
781
781
}
782
782
783
+ tableColumnsCode , err := getTableColumnsCode (data , isEmbed )
784
+ if err != nil {
785
+ return "" , nil , err
786
+ }
787
+ structCode += string (tableColumnsCode )
788
+
783
789
return structCode , newImportPaths , nil
784
790
}
785
791
792
+ func getTableColumnsCode (data tmplData , isEmbed bool ) ([]byte , error ) {
793
+ if data .DBDriver == DBDriverMongodb {
794
+ for _ , field := range data .Fields {
795
+ if field .Name == "ID" {
796
+ field .ColName = "_id"
797
+ data .Fields = append (data .Fields , field )
798
+ break
799
+ }
800
+ }
801
+ }
802
+ if isEmbed {
803
+ var fields = []tmplField {
804
+ {
805
+ ColName : "id" ,
806
+ },
807
+ {
808
+ ColName : "created_at" ,
809
+ },
810
+ {
811
+ ColName : "updated_at" ,
812
+ },
813
+ {
814
+ ColName : "deleted_at" ,
815
+ },
816
+ }
817
+ for _ , field := range data .Fields {
818
+ if field .Name == __mysqlModel__ {
819
+ continue
820
+ }
821
+ fields = append (fields , field )
822
+ }
823
+ data .Fields = fields
824
+ }
825
+ builder := strings.Builder {}
826
+ err := tableColumnsTmpl .Execute (& builder , data )
827
+ if err != nil {
828
+ return nil , fmt .Errorf ("tableColumnsTmpl.Execute error: %v" , err )
829
+ }
830
+ code , err := format .Source ([]byte (builder .String ()))
831
+ if err != nil {
832
+ return nil , fmt .Errorf ("tableColumnsTmpl format.Source error: %v" , err )
833
+ }
834
+ return code , err
835
+ }
836
+
786
837
func getModelCode (data modelCodes ) (string , error ) {
787
838
builder := strings.Builder {}
788
839
err := modelTmpl .Execute (& builder , data )
0 commit comments