1
0
mirror of https://github.com/ManyakRus/crud_generator.git synced 2025-10-31 00:17:48 +02:00

сделал many pk

This commit is contained in:
Nikitin Aleksandr
2024-06-06 18:05:19 +03:00
parent 9ec2b84bd6
commit 0e946fec1c
10 changed files with 125 additions and 89 deletions

View File

@@ -22,12 +22,12 @@ func (s *ServerGRPC) LawsuitStatusType_Update(ctx context.Context, Request *grpc
defer ctxCancelFunc()
//запрос в БД
value := Request.FieldName
db := postgres_gorm.GetConnection()
ID := Request.ID
ColumnName := Request.FieldName
m := &lawsuit_status_types.LawsuitStatusType{}
m.ID = AliasFromInt(ID)
m.ColumnName = value
m.ColumnName = ColumnName
err = crud_lawsuit_status_types.Update_ColumnName_ctx(ctx, db, m)
if err != nil {
return &Otvet, err

View File

@@ -2,7 +2,6 @@
if int64(m.ID) == 0 {
m.CreatedAt = time.Now()
} else {
ColumnName = "CreatedAt"
MassOmit = append(MassOmit, ColumnName)
MassOmit = append(MassOmit, "CreatedAt")
}

View File

@@ -39,7 +39,7 @@ func UpdateManyFields_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_ty
}
if IntFromAlias(m.ID) == 0 {
err = errors.New(m.TableNameDB() + " UpdateManyFields() error: ID=0")
err = errors.New(m.TableNameDB() + ` UpdateManyFields() error: ID=0`)
return err
}

View File

@@ -24,7 +24,7 @@ func Read_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.LawsuitS
//ID не должен быть =0
if IntFromAlias(m.ID) == 0 {
err = errors.New(m.TableNameDB()+" Read() error: ID=0")
err = errors.New(m.TableNameDB()+` Read() error: ID=0`)
return err
}
@@ -46,7 +46,7 @@ func Read_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.LawsuitS
}
//удалим из кэша
cache.Remove(IntFromAlias(m.ID))
//cache.Remove(IntFromAlias(m.ID))
return err
}

View File

@@ -50,7 +50,7 @@ func (crud Crud_GRPC) Read(m *lawsuit_status_types.LawsuitStatusType) error {
var versionModel = crud.GetVersionModel()
Request := &grpc_proto.RequestId{}
Request.ID = IntFromAlias(m.ID)
Request.ID = ProtoFromInt(m.ID)
Request.VersionModel = versionModel
ctxMain := context.Background()
@@ -230,7 +230,7 @@ func (crud Crud_GRPC) Delete(m *lawsuit_status_types.LawsuitStatusType) error {
var VersionModel = crud.GetVersionModel()
Request := &grpc_proto.RequestId{}
Request.ID = IntFromAlias(m.ID)
Request.ID = ProtoFromInt(m.ID)
Request.VersionModel = VersionModel
ctxMain := context.Background()
@@ -272,7 +272,7 @@ func (crud Crud_GRPC) Restore(m *lawsuit_status_types.LawsuitStatusType) error {
var VersionModel = crud.GetVersionModel()
Request := &grpc_proto.RequestId{}
Request.ID = IntFromAlias(m.ID)
Request.ID = ProtoFromInt(m.ID)
Request.VersionModel = VersionModel
ctxMain := context.Background()

View File

@@ -9,7 +9,7 @@ func (crud Crud_GRPC) Update(m *lawsuit_status_types.LawsuitStatusType) error {
var versionModel = crud.GetVersionModel()
Request := &grpc_proto.RequestId{}
Request.ID = IntFromAlias(m.ID)
Request.ID = ProtoFromInt(m.ID)
Request.FieldName = m.ColumnName
Request.VersionModel = versionModel

View File

@@ -274,6 +274,8 @@ func ReplacePrimaryKeyOtvetID1(Text string, Table1 *types.Table) string {
OtvetColumnName = Alias + "(" + OtvetColumnName + ")"
}
Otvet = strings.ReplaceAll(Otvet, "Otvet.ID = AliasFromInt(ID)", "Otvet."+ColumnNamePK+" = "+ColumnNamePK)
//заменим int64(Otvet.ID) на Otvet.ID
if mini_func.IsNumberType(ColumnTypeGoPK) == true {
Otvet = strings.ReplaceAll(Otvet, "int64(Otvet.ID)", OtvetColumnName)
@@ -346,10 +348,15 @@ func ReplacePrimaryKeyOtvetID_ManyPK1(Text string, Table1 *types.Table, Variable
}
TextOtvetIDID = TextOtvetIDID + "\t" + VariableName + "." + Column1.NameGo + " = " + Column1.NameGo + "\n"
RequestColumnName := FindRequestColumnName(Table1, Column1)
TextIDRequestID = TextIDRequestID + "\t" + Column1.NameGo + " := Request." + RequestColumnName + "\n"
TextM := FindTextConvertGolangTypeToProtobufType(Table1, Column1, "m")
Value, GolangCode := ConvertProtobufTypeToGolangType(Table1, Column1, "Request.")
if GolangCode == "" {
TextIDRequestID = TextIDRequestID + "\t" + Column1.NameGo + " := " + Value + "\n"
} else {
TextIDRequestID = TextIDRequestID + "\t" + GolangCode + "\n"
}
TextM := ConvertGolangTypeToProtobufType(Table1, Column1, "m")
TextRequestIDmID = TextRequestIDmID + "\t" + VariableName + "." + RequestColumnName + " = " + TextM + "\n"
TextInt64ID := FindTextConvertGolangTypeToProtobufType(Table1, Column1, "")
TextInt64ID := ConvertGolangTypeToProtobufType(Table1, Column1, "")
TextRequestIDInt64ID = TextRequestIDInt64ID + "\t" + VariableName + "." + RequestColumnName + " = " + TextInt64ID + "\n"
TextOtvetIDmID = TextOtvetIDmID + "\t" + "Otvet." + Column1.NameGo + " = " + VariableName + "." + Column1.NameGo + "\n"
@@ -359,10 +366,12 @@ func ReplacePrimaryKeyOtvetID_ManyPK1(Text string, Table1 *types.Table, Variable
}
Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = AliasFromInt(ID)", TextOtvetIDID)
Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = IntFromAlias(m.ID)", TextRequestIDmID)
Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = ProtoFromInt(m.ID)", TextRequestIDmID)
Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = int64(ID)", TextRequestIDInt64ID)
Otvet = strings.ReplaceAll(Otvet, "\tOtvet.ID = "+VariableName+".ID\n", TextOtvetIDmID)
Otvet = strings.ReplaceAll(Otvet, " IntFromAlias("+VariableName+".ID) == 0", TextMID0)
//Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m")
//Otvet = strings.ReplaceAll(Otvet, "ProtoFromInt(m.ID)", Value) //protobuf
//заменим ID := Request.ID
Otvet = strings.ReplaceAll(Otvet, "\tID := Request.ID\n", TextIDRequestID)
@@ -402,6 +411,7 @@ func ReplacePrimaryKeyM_ID1(Text string, Table1 *types.Table) string {
Otvet := Text
ColumnNamePK, ColumnTypeGoPK := FindPrimaryKeyNameTypeGo(Table1)
ColumnPK := FindPrimaryKeyColumn(Table1)
//заменим ID-Alias на ID
TableName := Table1.Name
@@ -432,6 +442,8 @@ func ReplacePrimaryKeyM_ID1(Text string, Table1 *types.Table) string {
//Otvet = strings.ReplaceAll(Otvet, " = m.ID", " = "+OtvetColumnName)
Otvet = strings.ReplaceAll(Otvet, ", m.ID,", ", "+OtvetColumnName+",")
//Otvet = strings.ReplaceAll(Otvet, "(m.ID)", "("+OtvetColumnName+")")
Value := ConvertColumnToAlias(Table1, ColumnPK, "")
Otvet = strings.ReplaceAll(Otvet, "m.ID = AliasFromInt(ID)", "m."+ColumnNamePK+" = "+Value)
//Alias преобразуем в int64, и наоборот
if Alias != "" {
@@ -441,10 +453,14 @@ func ReplacePrimaryKeyM_ID1(Text string, Table1 *types.Table) string {
} else {
DefaultValue := FindTextDefaultValue(ColumnTypeGoPK)
Otvet = strings.ReplaceAll(Otvet, "IntFromAlias(m.ID) == 0", "m."+ColumnNamePK+" == "+DefaultValue)
Otvet = strings.ReplaceAll(Otvet, "IntFromAlias(m.ID)", "m."+ColumnNamePK+"")
//Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m")
Otvet = strings.ReplaceAll(Otvet, "IntFromAlias(m.ID)", "m."+ColumnNamePK) //не protobuf
Value := ConvertGolangTypeToProtobufType(Table1, ColumnPK, "m")
Otvet = strings.ReplaceAll(Otvet, "ProtoFromInt(m.ID)", Value) //protobuf
Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(m.ID)", OtvetColumnName)
Otvet = strings.ReplaceAll(Otvet, "AliasFromInt(ID)", "ID")
Otvet = strings.ReplaceAll(Otvet, " ID=0", " "+ColumnNamePK+"="+DefaultValue)
Otvet = strings.ReplaceAll(Otvet, "(m.ID)", "(m."+ColumnNamePK+")")
}
return Otvet
@@ -1637,9 +1653,9 @@ func FindTextProtobufRequest_ID_Type(Table1 *types.Table, Column1 *types.Column,
{
TextRequestProtoName = "String"
RequestFieldName = "String" + sNumber
GolangLine = "value, err := uuid.Parse(" + VariableName + "" + RequestFieldName + ")" + `
GolangLine = Column1.NameGo + ", err := uuid.Parse(" + VariableName + "" + RequestFieldName + ")" + `
if Request.` + RequestFieldName + ` == "" {
value = uuid.Nil
` + Column1.NameGo + ` = uuid.Nil
err = nil
}
if err != nil {
@@ -1744,8 +1760,14 @@ func ConvertIDToAlias_OtvetID(Text string, Table1 *types.Table) string {
}
// ConvertColumnToAlias - заменяет "Otvet.ID = ID" на "Otvet.ID = alias.Name(ID)"
func ConvertColumnToAlias(Text string, Table1 *types.Table, Column1 *types.Column, VariableName string) string {
Otvet := VariableName + "." + Column1.NameGo
func ConvertColumnToAlias(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
Otvet := ""
Dot := ""
if VariableName != "" {
Dot = "."
}
Otvet = VariableName + Dot + Column1.NameGo
TableName := Table1.Name
IDName := Column1.Name
@@ -1758,10 +1780,10 @@ func ConvertColumnToAlias(Text string, Table1 *types.Table, Column1 *types.Colum
return Otvet
}
Otvet = TextConvert + "(" + VariableName + "." + Column1.NameGo + ")"
Otvet = TextConvert + "(" + VariableName + Dot + Column1.NameGo + ")"
//добавим испорт
Text = CheckAndAddImportAlias(Text)
//Text = CheckAndAddImportAlias(Text)
return Otvet
}
@@ -1780,57 +1802,47 @@ func DeleteCommentFromString(TextFrom string) string {
return Otvet
}
// FindTextConvertGolangTypeToProtobufType - возвращает имя переменной + имя колонки, преобразованное в тип protobuf
func FindTextConvertGolangTypeToProtobufType(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
// ConvertGolangTypeToProtobufType - возвращает имя переменной + имя колонки, преобразованное в тип protobuf
func ConvertGolangTypeToProtobufType(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
Otvet := ""
if Column1 == nil {
return Otvet
}
Otvet = VariableName + "." + Column1.NameGo
//TableName := Table1.Name
//IDName := Column1.Name
////alias в Int64
//TextConvert, ok := types.MapConvertID[TableName+"."+IDName]
//if ok == true {
// Otvet = TextConvert + "(" + VariableName + Column1.NameGo + ")"
//}
//time.Time в timestamppb
//if Column1.TypeGo == "time.Time" {
// Otvet = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
//}
Dot := ""
if VariableName != "" {
Dot = "."
}
Otvet = VariableName + Dot + Column1.NameGo
//преобразуем alias в обычный тип, и дату в timestamp
switch Column1.TypeGo {
case "time.Time":
Otvet = "timestamppb.New(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "timestamppb.New(" + VariableName + Dot + Column1.NameGo + ")"
case "string":
Otvet = "string(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "string(" + VariableName + Dot + Column1.NameGo + ")"
case "int64":
Otvet = "int64(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "int64(" + VariableName + Dot + Column1.NameGo + ")"
case "int32":
Otvet = "int32(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "int32(" + VariableName + Dot + Column1.NameGo + ")"
case "bool":
Otvet = "bool(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "bool(" + VariableName + Dot + Column1.NameGo + ")"
case "float32":
Otvet = "float32(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "float32(" + VariableName + Dot + Column1.NameGo + ")"
case "float64":
Otvet = "float64(" + VariableName + "." + Column1.NameGo + ")"
Otvet = "float64(" + VariableName + Dot + Column1.NameGo + ")"
case "uuid.UUID":
Otvet = VariableName + "." + Column1.NameGo + ".String()"
Otvet = VariableName + Dot + Column1.NameGo + ".String()"
}
return Otvet
}
// FindTextConvertProtobufTypeToGolangType - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf
func FindTextConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column, VariableName string) (string, string) {
Otvet := VariableName + Column1.NameGo
GolangCode := ""
// ConvertProtobufTypeToGolangType - возвращает имя переменной + имя колонки, преобразованное в тип golang из protobuf
func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column, VariableName string) (VariableColumn string, GolangCode string) {
VariableColumn = VariableName + Column1.NameGo
//GolangCode := ""
TableName := Table1.Name
IDName := Column1.Name
@@ -1841,52 +1853,52 @@ func FindTextConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types
//alias в Int64
TextConvert, ok := types.MapConvertID[TableName+"."+IDName]
if ok == true {
Otvet = TextConvert + "(" + VariableName + Column1.NameGo + ")"
return Otvet, GolangCode
VariableColumn = TextConvert + "(" + VariableName + Column1.NameGo + ")"
return VariableColumn, GolangCode
}
//time.Time в timestamppb
switch Column1.TypeGo {
case "time.Time":
{
Otvet = VariableName + Column1.NameGo + ".AsTime()"
return Otvet, GolangCode
VariableColumn = VariableName + Column1.NameGo + ".AsTime()"
return VariableColumn, GolangCode
}
case "uuid.UUID":
{
Otvet = "uuid.FromBytes([]byte(" + VariableName + RequestColumnName + "))"
GolangCode = `ID, err := uuid.FromBytes([]byte(Request.` + RequestColumnName + `))
VariableColumn = "uuid.FromBytes([]byte(" + VariableName + RequestColumnName + "))"
GolangCode = Column1.NameGo + `, err := uuid.FromBytes([]byte(Request.` + RequestColumnName + `))
if err != nil {
return &Otvet, err
}
`
return Otvet, GolangCode
return VariableColumn, GolangCode
}
}
//if Column1.TypeGo == "time.Time" {
// Otvet = VariableName + Column1.NameGo + ".AsTime()"
// return Otvet
// VariableColumn = VariableName + Column1.NameGo + ".AsTime()"
// return VariableColumn
//}
////преобразуем alias в обычный тип, и дату в timestamp
//switch Column1.TypeGo {
//case "time.Time":
// Otvet = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "timestamppb.New(" + VariableName + Column1.NameGo + ")"
//case "string":
// Otvet = "string(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "string(" + VariableName + Column1.NameGo + ")"
//case "int64":
// Otvet = "int64(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "int64(" + VariableName + Column1.NameGo + ")"
//case "int32":
// Otvet = "int32(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "int32(" + VariableName + Column1.NameGo + ")"
//case "bool":
// Otvet = "bool(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "bool(" + VariableName + Column1.NameGo + ")"
//case "float32":
// Otvet = "float32(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "float32(" + VariableName + Column1.NameGo + ")"
//case "float64":
// Otvet = "float64(" + VariableName + Column1.NameGo + ")"
// VariableColumn = "float64(" + VariableName + Column1.NameGo + ")"
//}
return Otvet, GolangCode
return VariableColumn, GolangCode
}
// FindTextEqualEmpty - находит текст сравнение с пустым значением
@@ -2323,7 +2335,7 @@ func ReplaceTextRequestID_PrimaryKey1(Text string, Table1 *types.Table, TextRequ
TextRequestID, TextID := FindTextProtobufRequest(Table1)
_, GolangCode := FindTextConvertProtobufTypeToGolangType(Table1, PrimaryKeyColumn, "Request.")
_, GolangCode := ConvertProtobufTypeToGolangType(Table1, PrimaryKeyColumn, "Request.")
if GolangCode != "" {
Otvet = strings.ReplaceAll(Otvet, "ID := "+TextRequest+".ID", GolangCode)
Otvet = strings.ReplaceAll(Otvet, TextRequest+".ID = ", TextRequest+"."+TextID+" = ")
@@ -2367,7 +2379,7 @@ func ReplaceIDtoID1(Text string, Table1 *types.Table) string {
Otvet := Text
PrimaryKeyColumn := FindPrimaryKeyColumn(Table1)
OtvetColumnName := FindTextConvertGolangTypeToProtobufType(Table1, PrimaryKeyColumn, "")
OtvetColumnName := ConvertGolangTypeToProtobufType(Table1, PrimaryKeyColumn, "")
if OtvetColumnName == "" {
return Otvet
}
@@ -2390,7 +2402,7 @@ func FindTextIDMany(Table1 *types.Table) (TextNames, TextNamesTypes, TextProtoNa
//Comma := ""
//MassPrimaryKey := FindPrimaryKeyColumns(Table1)
//for _, PrimaryKey1 := range MassPrimaryKey {
// OtvetColumnName := FindTextConvertGolangTypeToProtobufType(Table1, PrimaryKey1, "")
// OtvetColumnName := ConvertGolangTypeToProtobufType(Table1, PrimaryKey1, "")
// if OtvetColumnName == "" {
// continue
// }
@@ -2418,7 +2430,7 @@ func FindTextID_VariableName_Many(Table1 *types.Table, VariableName string) (Tex
Comma := ""
MassPrimaryKey := FindPrimaryKeyColumns(Table1)
for _, PrimaryKey1 := range MassPrimaryKey {
OtvetColumnName := FindTextConvertGolangTypeToProtobufType(Table1, PrimaryKey1, "")
OtvetColumnName := ConvertGolangTypeToProtobufType(Table1, PrimaryKey1, "")
if OtvetColumnName == "" {
continue
}

View File

@@ -152,11 +152,6 @@ func CreateFiles(Table1 *types.Table) error {
}
}
//создание текста
TextDB = strings.ReplaceAll(TextDB, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
TextDB = strings.ReplaceAll(TextDB, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
TextDB = config.Settings.TEXT_MODULE_GENERATED + TextDB
//TextDB = create_files.DeleteFuncFind_byExtID(TextDB, Table1)
//TextDB = create_files.DeleteFuncFind_byExtIDCtx(TextDB, Table1)
TextDB = AddTextOmit(TextDB, Table1)
@@ -169,6 +164,11 @@ func CreateFiles(Table1 *types.Table) error {
TextDB = create_files.ReplacePrimaryKeyM_ID(TextDB, Table1)
//создание текста
TextDB = strings.ReplaceAll(TextDB, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
TextDB = strings.ReplaceAll(TextDB, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
TextDB = config.Settings.TEXT_MODULE_GENERATED + TextDB
//замена импортов на новые URL
TextDB = create_files.ReplaceServiceURLImports(TextDB)
@@ -894,12 +894,16 @@ func CreateFilesCache(Table1 *types.Table) error {
sCACHE_ELEMENTS_COUNT := micro.StringFromInt64(CACHE_ELEMENTS_COUNT)
TextCache = create_files.FillVariable(TextCache, constants.TEXT_CACHE_SIZE_1000, sCACHE_ELEMENTS_COUNT)
ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
//тип ID кэша
if Table1.PrimaryKeyColumnsCount == 1 {
_, ColumnTypeGo := create_files.FindPrimaryKeyNameTypeGo(Table1)
TextCache = strings.ReplaceAll(TextCache, "LRU[int64", "LRU["+ColumnTypeGo)
TextCache = strings.ReplaceAll(TextCache, "ID int64", "ID "+ColumnTypeGo)
TextCache = strings.ReplaceAll(TextCache, "ID int64", ColumnPK.NameGo+" "+ColumnTypeGo)
TextCache = create_files.ReplacePrimaryKeyOtvetID(TextCache, Table1)
TextCache = strings.ReplaceAll(TextCache, "(ID)", ColumnPK.NameGo)
TextCache = strings.ReplaceAll(TextCache, ", ID)", ", "+ColumnPK.NameGo+")")
} else {
TextCache = strings.ReplaceAll(TextCache, "LRU[int64", "LRU[string")
TextCache = create_files.ReplacePrimaryKeyOtvetID_Many(TextCache, Table1)

View File

@@ -529,7 +529,7 @@ func FindTextUpdateEveryColumn1(TextGRPC_ClientUpdateFunc string, Table1 *types.
Otvet = create_files.ReplacePrimaryKeyM_ID(Otvet, Table1)
//
ColumnNameGolang := create_files.FindTextConvertGolangTypeToProtobufType(Table1, Column1, "m")
ColumnNameGolang := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m")
_, IDTypeGo := create_files.FindPrimaryKeyNameTypeGo(Table1)

View File

@@ -127,6 +127,8 @@ func CreateFiles(Table1 *types.Table) error {
CrudTableURL := create_files.FindCrudTableURL(TableName)
TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudTableURL)
TextGRPCServer = ReplaceIDRequestID_1PK(TextGRPCServer, Table1)
//замена ID на PrimaryKey
TextGRPCServer = create_files.ReplacePrimaryKeyM_ID(TextGRPCServer, Table1)
@@ -145,8 +147,6 @@ func CreateFiles(Table1 *types.Table) error {
TextGRPCServer = DeleteFuncFind_byExtID(TextGRPCServer, Table1)
}
TextGRPCServer = create_files.ReplacePrimaryKeyM_ID(TextGRPCServer, Table1)
//создание текста
ModelName := Table1.NameGo
TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
@@ -522,18 +522,20 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T
_, _, TextRequestFieldGolang, TextGolangLine := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request.")
//if Table1.PrimaryKeyColumnsCount > 1 {
TextRequest := create_files.FindTextProtobufRequest_Column_ManyPK(Table1, Column1)
//}
ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
//замена ID на PrimaryKey
Otvet = create_files.ReplacePrimaryKeyM_ID(Otvet, Table1)
//ColumnNameGolang := create_files.FindTextConvertGolangTypeToProtobufType(Table1, Column1, "m")
//ColumnNameGolang := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m")
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL+"_Update", ModelName+"_"+FuncName)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
Otvet = strings.ReplaceAll(Otvet, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
if TextGolangLine != "" {
Otvet = strings.ReplaceAll(Otvet, "value := Request.FieldName", TextGolangLine)
if Column1 == ColumnPK {
Otvet = strings.ReplaceAll(Otvet, "\tColumnName := Request.FieldName\n", "")
} else if TextGolangLine != "" {
Otvet = strings.ReplaceAll(Otvet, "ColumnName := Request.FieldName", TextGolangLine)
}
Otvet = strings.ReplaceAll(Otvet, "grpc_proto.RequestId", "grpc_proto."+TextRequest)
Otvet = strings.ReplaceAll(Otvet, "Request.FieldName", TextRequestFieldGolang)
@@ -541,6 +543,25 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T
Otvet = strings.ReplaceAll(Otvet, "ColumnName", ColumnName)
Otvet = strings.ReplaceAll(Otvet, "Model.Update()", "Model."+FuncName+"()")
Otvet = ReplaceIDRequestID_1PK(Otvet, Table1)
return Otvet
}
// ReplaceIDRequestID_1PK - замена "ID := Request.ID"
func ReplaceIDRequestID_1PK(Text string, Table1 *types.Table) string {
Otvet := Text
//замена ID := Request.ID
ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
_, _, RequestFieldPK, GolangLinePK := create_files.FindTextProtobufRequest_ID_Type(Table1, ColumnPK, "Request.")
if GolangLinePK != "" {
Otvet = strings.ReplaceAll(Otvet, "ID := Request.ID", GolangLinePK)
} else {
Otvet = strings.ReplaceAll(Otvet, "ID := Request.ID", ColumnPK.NameGo+" := "+RequestFieldPK)
}
return Otvet
}
@@ -685,7 +706,7 @@ func FindTextUpdateEveryColumnTest1(TextGRPCServerUpdateFunc string, Table1 *typ
ColumnName := Column1.NameGo
FuncName := "Update_" + ColumnName
_, TextRequestField, TextRequestFieldGolang, _ := create_files.FindTextProtobufRequest_ID_Type(Table1, Column1, "Request2.")
TextModelColumnName := create_files.FindTextConvertGolangTypeToProtobufType(Table1, Column1, "m")
TextModelColumnName := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m")
TextRequestID := create_files.FindTextProtobufRequest_ManyPK(Table1)
//Postgres_ID_Test = ID Minimum
@@ -757,9 +778,6 @@ func CreateFilesCache(Table1 *types.Table) error {
CrudTableURL := create_files.FindCrudTableURL(TableName)
TextGRPCServer = create_files.AddImport(TextGRPCServer, CrudTableURL)
//добавим импорт uuid
TextGRPCServer = create_files.CheckAndAddImportUUID_FromText(TextGRPCServer)
}
if Table1.PrimaryKeyColumnsCount == 1 {
@@ -776,6 +794,9 @@ func CreateFilesCache(Table1 *types.Table) error {
//замена RequestId{}
TextGRPCServer = create_files.ReplaceTextRequestID_PrimaryKey(TextGRPCServer, Table1)
//добавим импорт uuid
TextGRPCServer = create_files.CheckAndAddImportUUID_FromText(TextGRPCServer)
//создание текста
ModelName := Table1.NameGo
TextGRPCServer = strings.ReplaceAll(TextGRPCServer, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)