mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2025-02-03 09:57:21 +02:00
сделал sync_service без ошибок
This commit is contained in:
parent
3d8b118b23
commit
83eeb4c95b
@ -37,7 +37,7 @@ func (s *ServerGRPC) LawsuitStatusType_ReadFromCache(ctx context.Context, Reques
|
||||
db := postgres_gorm.GetConnection()
|
||||
ID := Request.ID
|
||||
Model := lawsuit_status_types.LawsuitStatusType{}
|
||||
Model, err = crud_lawsuit_status_types.ReadFromCache_ctx(ctx, db, ID)
|
||||
Model, err = crud_lawsuit_status_types.ReadFromCache_ctx(ctx, db, ReplaceManyID(ID))
|
||||
if err != nil {
|
||||
return &Otvet, err
|
||||
}
|
||||
|
@ -44,14 +44,12 @@ func Read_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.LawsuitS
|
||||
return err
|
||||
}
|
||||
|
||||
id := m.ColumnNamePK
|
||||
|
||||
db.WithContext(ctx)
|
||||
|
||||
tx := db.First(m)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Read() id: %v, error: %v", id, err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Read() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -103,7 +101,7 @@ func Update_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsui
|
||||
|
||||
// проверка ID
|
||||
if int64(m.ID) == 0 {
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Update() ", TableName, " error: id =0")
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Update() ", TableName, " error: ColumnNamePK =0")
|
||||
err = errors.New(TextError)
|
||||
return err
|
||||
}
|
||||
@ -134,7 +132,7 @@ func Create_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsui
|
||||
|
||||
// проверка ID
|
||||
if int64(m.ID) != 0 {
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Save() ", TableName, " error: id !=0")
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Save() ", TableName, " error: ColumnNamePK !=0")
|
||||
err = errors.New(TextError)
|
||||
return err
|
||||
}
|
||||
@ -208,7 +206,7 @@ func create_update_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types
|
||||
tx = tx.Updates(MapOmit)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Create_Update() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Create_Update() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -249,7 +247,7 @@ func Restore_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsu
|
||||
|
||||
err = Save_ctx(ctx, db, &m2)
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Restore() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Restore() ColumnNamePK: %v, error: %v", ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -295,7 +293,7 @@ func Find_ByExtID_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.
|
||||
tx := db.Where("ext_id = ?", m.ExtID).Where("connection_id = ?", m.ConnectionID).First(m)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Find_ByExtID() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Find_ByExtID() ExtID: %v, ConnectionID: %v, error: %v", m.ExtID, m.ConnectionID, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -331,7 +329,7 @@ func Delete_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsui
|
||||
tx := db.Delete(m)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Delete() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Delete() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
|
@ -44,14 +44,12 @@ func Read_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.LawsuitS
|
||||
return err
|
||||
}
|
||||
|
||||
id := m.ColumnNamePK
|
||||
|
||||
db.WithContext(ctx)
|
||||
|
||||
tx := db.First(m)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Read() id: %v, error: %v", id, err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Read() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -103,7 +101,7 @@ func Update_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsui
|
||||
|
||||
// проверка ID
|
||||
if int64(m.ID) == 0 {
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Update() ", TableName, " error: id =0")
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Update() ", TableName, " error: ColumnNamePK =0")
|
||||
err = errors.New(TextError)
|
||||
return err
|
||||
}
|
||||
@ -134,7 +132,7 @@ func Create_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsui
|
||||
|
||||
// проверка ID
|
||||
if int64(m.ID) != 0 {
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Create() ", TableName, " error: id !=0")
|
||||
TextError := fmt.Sprint(m.TableNameDB()+" Create() ", TableName, " error: ColumnNamePK !=0")
|
||||
err = errors.New(TextError)
|
||||
return err
|
||||
}
|
||||
@ -208,7 +206,7 @@ func create_update_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types
|
||||
tx = tx.Updates(MapOmit)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Create_Update() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Create_Update() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -249,7 +247,7 @@ func Delete_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsui
|
||||
|
||||
err = Save_ctx(ctx, db, &m2)
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Delete() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Delete() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -290,7 +288,7 @@ func Restore_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.Lawsu
|
||||
|
||||
err = Save_ctx(ctx, db, &m2)
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Restore() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Restore() ColumnNamePK: %v, error: %v", m.ColumnNamePK, err)
|
||||
}
|
||||
|
||||
return err
|
||||
@ -301,7 +299,7 @@ func (crud Crud_DB) Find_ByExtID(m *lawsuit_status_types.LawsuitStatusType) erro
|
||||
var err error
|
||||
|
||||
if m.ExtID == 0 {
|
||||
err = errors.New(m.TableNameDB()+" Find_ByExtID() error: ext_id =0")
|
||||
err = errors.New(m.TableNameDB()+" Find_ByExtID() error: ExtID =0")
|
||||
return err
|
||||
}
|
||||
|
||||
@ -336,7 +334,7 @@ func Find_ByExtID_ctx(ctx context.Context, db *gorm.DB, m *lawsuit_status_types.
|
||||
tx := db.Where("ext_id = ?", m.ExtID).Where("connection_id = ?", m.ConnectionID).First(m)
|
||||
err = tx.Error
|
||||
if err != nil {
|
||||
err = fmt.Errorf(m.TableNameDB()+" Find_ByExtID() id: %v, error: %v", int64(m.ID), err)
|
||||
err = fmt.Errorf(m.TableNameDB()+" Find_ByExtID() ExtID: %v, ConnectionID: %v, error: %v", m.ExtID, m.ConnectionID, err)
|
||||
}
|
||||
|
||||
return err
|
||||
|
@ -249,12 +249,12 @@ func FindPrimaryKeyColumns(Table1 *types.Table) []*types.Column {
|
||||
func ReplacePrimaryKeyOtvetID(Text string, Table1 *types.Table) string {
|
||||
Otvet := Text
|
||||
|
||||
PrimaryKeyCount := Table1.PrimaryKeyColumnsCount
|
||||
if PrimaryKeyCount == 1 {
|
||||
Otvet = ReplacePrimaryKeyOtvetID1(Otvet, Table1)
|
||||
} else {
|
||||
Otvet = ReplacePrimaryKeyOtvetID_Many(Otvet, Table1)
|
||||
}
|
||||
//PrimaryKeyCount := Table1.PrimaryKeyColumnsCount
|
||||
//if PrimaryKeyCount == 1 {
|
||||
// Otvet = ReplacePrimaryKeyOtvetID1(Otvet, Table1)
|
||||
//} else {
|
||||
Otvet = ReplacePrimaryKeyOtvetID_Many(Otvet, Table1)
|
||||
//}
|
||||
|
||||
return Otvet
|
||||
}
|
||||
@ -318,6 +318,15 @@ func ReplacePrimaryKeyOtvetID1(Text string, Table1 *types.Table) string {
|
||||
Otvet = strings.ReplaceAll(Otvet, "\tID := Request.ID\n", TextNew)
|
||||
}
|
||||
|
||||
Value, GolangCode = ConvertProtobufTypeToGolangAlias(Table1, ColumnPK, "Request.")
|
||||
if GolangCode == "" {
|
||||
TextNew := "\t" + ColumnPK.NameGo + " := " + Value + "\n"
|
||||
Otvet = strings.ReplaceAll(Otvet, "\tID := AliasFromProto(Request.ID)\n", TextNew)
|
||||
} else {
|
||||
TextNew := "\t" + GolangCode + "\n"
|
||||
Otvet = strings.ReplaceAll(Otvet, "\tID := AliasFromProto(Request.ID)\n", TextNew)
|
||||
}
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
@ -327,6 +336,7 @@ func ReplacePrimaryKeyOtvetID_Many(Text string, Table1 *types.Table) string {
|
||||
|
||||
Otvet = ReplacePrimaryKeyOtvetID_ManyPK1(Otvet, Table1, "Otvet")
|
||||
Otvet = ReplacePrimaryKeyOtvetID_ManyPK1(Otvet, Table1, "Request")
|
||||
Otvet = ReplacePrimaryKeyOtvetID_ManyPK1(Otvet, Table1, "m")
|
||||
|
||||
Otvet = ReplacePrimaryKeyOtvetID1(Otvet, Table1) //для тестов
|
||||
|
||||
@ -344,6 +354,7 @@ func ReplacePrimaryKeyOtvetID_ManyPK1(Text string, Table1 *types.Table, Variable
|
||||
}
|
||||
sort.Strings(keys)
|
||||
|
||||
TextOtvetIDAliasID := ""
|
||||
TextIfMId := ""
|
||||
TextIfMIdNot0 := ""
|
||||
TextM2ID := ""
|
||||
@ -380,10 +391,13 @@ func ReplacePrimaryKeyOtvetID_ManyPK1(Text string, Table1 *types.Table, Variable
|
||||
TextIfMIdNot0 = TextIfMIdNot0 + TextOR + "m." + Column1.NameGo + " != " + DefaultValue
|
||||
|
||||
TextMID0 = TextMID0 + TextOR + " (" + VariableName + "." + Column1.NameGo + " == " + DefaultValue + ")"
|
||||
TextAlias := ConvertIDToAlias(Table1, Column1, Column1.NameGo)
|
||||
TextOtvetIDAliasID = TextOtvetIDAliasID + "\t" + VariableName + "." + Column1.NameGo + " = " + TextAlias + "\n"
|
||||
TextOR = " || "
|
||||
}
|
||||
|
||||
Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = AliasFromInt(ID)", TextOtvetIDID)
|
||||
Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = AliasFromInt(ID)", TextOtvetIDAliasID)
|
||||
//Otvet = strings.ReplaceAll(Otvet, "\t"+VariableName+".ID = AliasFromInt(ID)", TextOtvetIDID)
|
||||
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)
|
||||
@ -1792,8 +1806,8 @@ func ConvertRequestIdToAlias(Text string, Table1 *types.Table) string {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// ConvertIDToAlias_OtvetID - заменяет "Otvet.ID = ID" на "Otvet.ID = alias.Name(ID)"
|
||||
func ConvertIDToAlias_OtvetID(Text string, Table1 *types.Table) string {
|
||||
// ReplaceIDToAlias_OtvetID - заменяет "Otvet.ID = ID" на "Otvet.ID = alias.Name(ID)"
|
||||
func ReplaceIDToAlias_OtvetID(Text string, Table1 *types.Table) string {
|
||||
Otvet := Text
|
||||
|
||||
TableName := Table1.Name
|
||||
@ -1822,6 +1836,25 @@ func ConvertIDToAlias_OtvetID(Text string, Table1 *types.Table) string {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// ConvertIDToAlias - заменяет "ID" на "alias.Name(ID)"
|
||||
func ConvertIDToAlias(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
|
||||
Otvet := VariableName
|
||||
|
||||
TableName := Table1.Name
|
||||
TextConvert, ok := types.MapConvertID[TableName+"."+Column1.Name]
|
||||
if ok == false {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
if TextConvert[:6] != "alias." {
|
||||
return Otvet
|
||||
}
|
||||
|
||||
Otvet = TextConvert + "(" + VariableName + ")"
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// ConvertColumnToAlias - заменяет "Otvet.ID = ID" на "Otvet.ID = alias.Name(ID)"
|
||||
func ConvertColumnToAlias(Table1 *types.Table, Column1 *types.Column, VariableName string) string {
|
||||
Otvet := ""
|
||||
@ -1928,6 +1961,44 @@ func ConvertProtobufTypeToGolangType(Table1 *types.Table, Column1 *types.Column,
|
||||
VariableColumn = VariableName + RequestColumnName
|
||||
//GolangCode := ""
|
||||
|
||||
//TableName := Table1.Name
|
||||
//IDName := Column1.Name
|
||||
|
||||
//alias в Int64
|
||||
//TextConvert, ok := types.MapConvertID[TableName+"."+IDName]
|
||||
//if ok == true {
|
||||
// VariableColumn = TextConvert + "(" + VariableName + RequestColumnName + ")"
|
||||
// return VariableColumn, GolangCode
|
||||
//}
|
||||
|
||||
//time.Time в timestamppb
|
||||
switch Column1.TypeGo {
|
||||
case "time.Time":
|
||||
{
|
||||
VariableColumn = VariableName + RequestColumnName + ".AsTime()"
|
||||
return VariableColumn, GolangCode
|
||||
}
|
||||
case "uuid.UUID":
|
||||
{
|
||||
VariableColumn = "uuid.FromBytes([]byte(" + VariableName + RequestColumnName + "))"
|
||||
GolangCode = Column1.NameGo + `, err := uuid.FromBytes([]byte(Request.` + RequestColumnName + `))
|
||||
if err != nil {
|
||||
return &Otvet, err
|
||||
}
|
||||
`
|
||||
return VariableColumn, GolangCode
|
||||
}
|
||||
}
|
||||
|
||||
return VariableColumn, GolangCode
|
||||
}
|
||||
|
||||
// ConvertProtobufTypeToGolangAlias - возвращает имя переменной + имя колонки, преобразованное в тип golang(alias) из protobuf
|
||||
func ConvertProtobufTypeToGolangAlias(Table1 *types.Table, Column1 *types.Column, VariableName string) (VariableColumn string, GolangCode string) {
|
||||
RequestColumnName := FindRequestColumnName(Table1, Column1)
|
||||
VariableColumn = VariableName + RequestColumnName
|
||||
//GolangCode := ""
|
||||
|
||||
TableName := Table1.Name
|
||||
IDName := Column1.Name
|
||||
|
||||
@ -2516,6 +2587,7 @@ func ReplaceIDtoID_Many(Text string, Table1 *types.Table) string {
|
||||
|
||||
TextNames, TextNamesTypes, TextProtoNames := FindTextIDMany(Table1)
|
||||
|
||||
Otvet = strings.ReplaceAll(Otvet, "ReplaceManyID(ID)", TextNames)
|
||||
Otvet = strings.ReplaceAll(Otvet, "int64(ID)", TextProtoNames)
|
||||
Otvet = strings.ReplaceAll(Otvet, "(ID int64", "("+TextNamesTypes)
|
||||
Otvet = strings.ReplaceAll(Otvet, "(ID)", "("+TextNames+")")
|
||||
@ -2767,3 +2839,27 @@ func IsPrimaryKeyColumn(Table1 *types.Table, Column *types.Column) bool {
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// ReplaceColumnNameM - заменяет "ReplaceColumnNameM(m.ID)" на "m.ID"
|
||||
func ReplaceColumnNameM(Text string, Column *types.Column) string {
|
||||
Otvet := Text
|
||||
|
||||
TextNew := "m." + Column.Name
|
||||
Otvet = strings.ReplaceAll(Otvet, "ReplaceColumnNameM(m.ID)", TextNew)
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// ReplaceIntFromProtoRequest - заменяет "IntFromProto(Request.ID)" на "Request.ID"
|
||||
func ReplaceIntFromProtoRequest(Text string, Table1 *types.Table, Column *types.Column) string {
|
||||
Otvet := Text
|
||||
|
||||
Variable, Golang_code := ConvertProtobufTypeToGolangType(Table1, Column, "Request.")
|
||||
TextNew := "Request." + Variable
|
||||
if Golang_code != "" {
|
||||
|
||||
}
|
||||
Otvet = strings.ReplaceAll(Otvet, "IntFromProto(Request.ID)", TextNew)
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
@ -167,6 +167,9 @@ func CreateFiles(Table1 *types.Table) error {
|
||||
//id := m.ID
|
||||
TextDB = create_files.ReplaceColumnNamePK(TextDB, Table1)
|
||||
|
||||
//"ReplaceColumnNameM(m.ID)"
|
||||
//TextDB = create_files.ReplaceColumnNameM(TextDB, Table1)
|
||||
|
||||
//создание текста
|
||||
TextDB = strings.ReplaceAll(TextDB, config.Settings.TEXT_TEMPLATE_MODEL, ModelName)
|
||||
TextDB = strings.ReplaceAll(TextDB, config.Settings.TEXT_TEMPLATE_TABLENAME, Table1.Name)
|
||||
@ -890,7 +893,7 @@ func CreateFilesCache(Table1 *types.Table) error {
|
||||
}
|
||||
|
||||
//alias
|
||||
TextCache = create_files.ConvertIDToAlias_OtvetID(TextCache, Table1)
|
||||
TextCache = create_files.ReplaceIDToAlias_OtvetID(TextCache, Table1)
|
||||
|
||||
//const CACHE_SIZE = 1000
|
||||
CACHE_ELEMENTS_COUNT_MAX := config.Settings.CACHE_ELEMENTS_COUNT_MAX
|
||||
|
@ -534,6 +534,7 @@ func FindTextUpdateEveryColumn1(TextGRPCServerUpdateFunc string, Table1 *types.T
|
||||
IsPrimaryKey := create_files.IsPrimaryKeyColumn(Table1, Column1)
|
||||
|
||||
//замена ID на PrimaryKey
|
||||
Otvet = create_files.ReplacePrimaryKeyOtvetID(Otvet, Table1)
|
||||
Otvet = create_files.ReplacePrimaryKeyM_ID(Otvet, Table1)
|
||||
|
||||
//ColumnNameGolang := create_files.ConvertGolangTypeToProtobufType(Table1, Column1, "m")
|
||||
@ -789,6 +790,8 @@ func CreateFilesCache(Table1 *types.Table) error {
|
||||
|
||||
}
|
||||
|
||||
//TextGRPCServer = create_files.ReplaceIntFromProtoRequest(TextGRPCServer, Table1)
|
||||
|
||||
//замена RequestId{}
|
||||
TextGRPCServer = create_files.ReplaceTextRequestID_PrimaryKey(TextGRPCServer, Table1)
|
||||
|
||||
@ -797,11 +800,13 @@ func CreateFilesCache(Table1 *types.Table) error {
|
||||
TextGRPCServer = create_files.ReplacePrimaryKeyM_ID(TextGRPCServer, Table1)
|
||||
|
||||
if Table1.PrimaryKeyColumnsCount == 1 {
|
||||
ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
|
||||
TextGRPCServer = strings.ReplaceAll(TextGRPCServer, "ReplaceManyID(ID)", ColumnPK.NameGo)
|
||||
//ColumnPK := create_files.FindPrimaryKeyColumn(Table1)
|
||||
} else {
|
||||
TextIDMany := ", ID)"
|
||||
TextIDMany := "ReplaceManyID(ID)"
|
||||
TextIDMany = create_files.ReplaceIDtoID_Many(TextIDMany, Table1)
|
||||
TextGRPCServer = strings.ReplaceAll(TextGRPCServer, "int64(ID)", "("+Table1.Name+".StringIdentifier"+TextIDMany+")")
|
||||
TextGRPCServer = strings.ReplaceAll(TextGRPCServer, "ReplaceManyID(ID)", TextIDMany)
|
||||
}
|
||||
TextGRPCServer = create_files.ReplaceIDtoID_Many(TextGRPCServer, Table1)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user