You've already forked crud_generator
mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2025-07-16 02:54:19 +02:00
сделал PrintableString()
This commit is contained in:
@ -156,10 +156,21 @@ func Test_server_LawsuitStatusType_FindByExtID(t *testing.T) {
|
|||||||
config.LoadEnv()
|
config.LoadEnv()
|
||||||
crud_starter.InitCrudTransport_DB()
|
crud_starter.InitCrudTransport_DB()
|
||||||
|
|
||||||
|
ctx := context.Background()
|
||||||
|
Request := grpc_proto.RequestId{}
|
||||||
|
Request.Id = LawsuitStatusType_ID_Test
|
||||||
|
Request.VersionModel = lawsuit_status_types.LawsuitStatusType{}.GetStructVersion()
|
||||||
|
|
||||||
|
server1 := &ServerGRPC{}
|
||||||
|
Otvet1, err := server1.LawsuitStatusType_Read(ctx, &Request)
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Test_server_LawsuitStatusType_FindByExtId() error: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
Request := grpc_proto.RequestExtId{}
|
Request := grpc_proto.RequestExtId{}
|
||||||
Request.ExtId = 1
|
Request.ExtId = Otvet1.ExtID
|
||||||
Request.ConnectionId = 3
|
Request.ConnectionId = Otvet1.ConnectionId
|
||||||
Request.VersionModel = lawsuit_status_types.LawsuitStatusType{}.GetStructVersion()
|
Request.VersionModel = lawsuit_status_types.LawsuitStatusType{}.GetStructVersion()
|
||||||
|
|
||||||
server1 := &ServerGRPC{}
|
server1 := &ServerGRPC{}
|
||||||
|
@ -146,7 +146,7 @@ func (crud Crud_DB) create_update_ctx(ctx context.Context, m *lawsuit_status_typ
|
|||||||
m.DeletedAt = time.Time{}
|
m.DeletedAt = time.Time{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// колонки с null
|
//колонки с null
|
||||||
tx := db
|
tx := db
|
||||||
MassOmit := make([]string, 0)
|
MassOmit := make([]string, 0)
|
||||||
var ColumnName string
|
var ColumnName string
|
||||||
@ -156,12 +156,17 @@ func (crud Crud_DB) create_update_ctx(ctx context.Context, m *lawsuit_status_typ
|
|||||||
MassOmit = append(MassOmit, ColumnName)
|
MassOmit = append(MassOmit, ColumnName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ColumnName = "CreatedAt"
|
||||||
|
if m.CreatedAt.IsZero() == true {
|
||||||
|
MassOmit = append(MassOmit, ColumnName)
|
||||||
|
}
|
||||||
|
|
||||||
ColumnName = "ExtID"
|
ColumnName = "ExtID"
|
||||||
if m.ExtID == 0 {
|
if m.ExtID == 0 {
|
||||||
MassOmit = append(MassOmit, ColumnName)
|
MassOmit = append(MassOmit, ColumnName)
|
||||||
}
|
}
|
||||||
|
|
||||||
// игнор пустых колонок
|
//игнор пустых колонок
|
||||||
tx = tx.Omit(MassOmit...)
|
tx = tx.Omit(MassOmit...)
|
||||||
|
|
||||||
// запись
|
// запись
|
||||||
|
@ -23,10 +23,10 @@ func TestRead(t *testing.T) {
|
|||||||
t.Error("TestRead() error: ", err)
|
t.Error("TestRead() error: ", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if Otvet.Name == "" {
|
if Otvet.ID == 0 {
|
||||||
t.Error(TableName + "_test.TestRead() error name= '' ")
|
t.Error(TableName + "_test.TestRead() error ID=0 ")
|
||||||
} else {
|
} else {
|
||||||
t.Log(TableName+"_test.TestRead() Otvet: ", Otvet.Name)
|
t.Log(TableName+"_test.TestRead() Otvet: ", Otvet.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,15 +44,15 @@ func TestSave(t *testing.T) {
|
|||||||
t.Error("TestSave() error: ", err)
|
t.Error("TestSave() error: ", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if Otvet.Name == "" {
|
if Otvet.ID == 0 {
|
||||||
t.Error(TableName + "_test.TestSave() error name= '' ")
|
t.Error(TableName + "_test.TestSave() error ID=0 ")
|
||||||
}
|
}
|
||||||
|
|
||||||
err = crud.Save(&Otvet)
|
err = crud.Save(&Otvet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error("TestSave() error: ", err)
|
t.Error("TestSave() error: ", err)
|
||||||
}
|
}
|
||||||
t.Log(TableName+"_test.TestSave() Otvet: ", Otvet.Name)
|
t.Log(TableName+"_test.TestSave() Otvet: ", Otvet.ID)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +101,15 @@ func TestFind_ByExtID(t *testing.T) {
|
|||||||
postgres_gorm.Connect()
|
postgres_gorm.Connect()
|
||||||
defer postgres_gorm.CloseConnection()
|
defer postgres_gorm.CloseConnection()
|
||||||
|
|
||||||
Otvet, err := Find_ByExtID(1, constants.CONNECTION_ID_TEST)
|
crud := Crud_DB{}
|
||||||
|
Otvet := lawsuit_status_types.LawsuitStatusType{}
|
||||||
|
Otvet.ID = Postgres_ID_Test
|
||||||
|
err := crud.Read(&Otvet)
|
||||||
|
if err != nil {
|
||||||
|
t.Error("TestFind_ByExtID() error: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
Otvet, err = Find_ByExtID(Otvet.ExtID, Otvet.ConnectionID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error("TestFind_ByExtID() error: ", err)
|
t.Error("TestFind_ByExtID() error: ", err)
|
||||||
}
|
}
|
||||||
|
@ -157,9 +157,17 @@ func TestFindByExtID(t *testing.T) {
|
|||||||
defer grpc_client.CloseConnection()
|
defer grpc_client.CloseConnection()
|
||||||
|
|
||||||
crud := Crud_GRPC{}
|
crud := Crud_GRPC{}
|
||||||
|
Otvet1 := lawsuit_status_types.LawsuitStatusType{}
|
||||||
|
Otvet1.ID = Postgres_ID_Test
|
||||||
|
err := crud.Read(&Otvet1)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Error("TestFind_ByExtID() error: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
Otvet := lawsuit_status_types.LawsuitStatusType{}
|
Otvet := lawsuit_status_types.LawsuitStatusType{}
|
||||||
Otvet.ExtID = 1
|
Otvet.ExtID = Otvet1.ExtID
|
||||||
Otvet.ConnectionID = constants.CONNECTION_ID_TEST
|
Otvet.ConnectionID = Otvet1.ConnectionID
|
||||||
err := crud.Find_ByExtID(&Otvet)
|
err := crud.Find_ByExtID(&Otvet)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -157,9 +157,17 @@ func TestFindByExtID(t *testing.T) {
|
|||||||
defer nrpc_client.CloseConnection()
|
defer nrpc_client.CloseConnection()
|
||||||
|
|
||||||
crud := Crud_NRPC{}
|
crud := Crud_NRPC{}
|
||||||
|
Otvet1 := lawsuit_status_types.LawsuitStatusType{}
|
||||||
|
Otvet1.ID = Postgres_ID_Test
|
||||||
|
err := crud.Read(&Otvet1)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Error("TestFind_ByExtID() error: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
Otvet := lawsuit_status_types.LawsuitStatusType{}
|
Otvet := lawsuit_status_types.LawsuitStatusType{}
|
||||||
Otvet.ExtID = 1
|
Otvet.ExtID = Otvet1.ExtID
|
||||||
Otvet.ConnectionID = constants.CONNECTION_ID_TEST
|
Otvet.ConnectionID = Otvet1.ConnectionID
|
||||||
err := crud.Find_ByExtID(&Otvet)
|
err := crud.Find_ByExtID(&Otvet)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package create_files
|
package create_files
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"github.com/ManyakRus/crud_generator/internal/mini_func"
|
||||||
"github.com/ManyakRus/crud_generator/internal/types"
|
"github.com/ManyakRus/crud_generator/internal/types"
|
||||||
"github.com/iancoleman/strcase"
|
"github.com/iancoleman/strcase"
|
||||||
"github.com/jinzhu/inflection"
|
"github.com/jinzhu/inflection"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,16 +36,18 @@ func FormatName(Name string) string {
|
|||||||
switch strings.ToLower(Name) {
|
switch strings.ToLower(Name) {
|
||||||
case "id":
|
case "id":
|
||||||
Otvet = "ID"
|
Otvet = "ID"
|
||||||
default:
|
return Otvet
|
||||||
Otvet = strcase.ToCamel(Otvet)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Otvet = strcase.ToCamel(Otvet)
|
||||||
|
|
||||||
//_id в конце заменяем на ID
|
//_id в конце заменяем на ID
|
||||||
len1 := len(Name)
|
lenName := len(Name)
|
||||||
if len1 >= 3 {
|
lenOtvet := len(Otvet)
|
||||||
last3 := strings.ToLower(Name[len1-3:])
|
if lenName >= 3 {
|
||||||
|
last3 := strings.ToLower(Name[lenName-3:])
|
||||||
if last3 == "_id" {
|
if last3 == "_id" {
|
||||||
Otvet = Otvet[:len1-2-1] + "ID"
|
Otvet = Otvet[:lenOtvet-2] + "ID"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,3 +130,113 @@ func Has_Column_IsDeleted(Table1 *types.Table) bool {
|
|||||||
Otvet = true
|
Otvet = true
|
||||||
return Otvet
|
return Otvet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteCommentFromFuncName - удаляет комментарий с названием функции
|
||||||
|
func DeleteCommentFromFuncName(Text, FuncName string) string {
|
||||||
|
Otvet := Text
|
||||||
|
|
||||||
|
TextFind := "//" + FuncName + "()"
|
||||||
|
Otvet = strings.ReplaceAll(Otvet, TextFind, "")
|
||||||
|
|
||||||
|
//pos1 := strings.Index(Otvet, TextFind)
|
||||||
|
//if pos1 < 0 {
|
||||||
|
// return Otvet
|
||||||
|
//}
|
||||||
|
//s2 := Otvet[pos1+1:]
|
||||||
|
//
|
||||||
|
//posEnd := strings.Index(s2, "\n}")
|
||||||
|
//if posEnd < 0 {
|
||||||
|
// return Otvet
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//Otvet = Otvet[:pos1-1] + Otvet[pos1+posEnd+3:]
|
||||||
|
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeleteLineWithComment - удаляет текст от комментария до конца строки
|
||||||
|
func DeleteLineWithComment(Text, FuncName string) string {
|
||||||
|
Otvet := Text
|
||||||
|
|
||||||
|
TextFind := "//" + FuncName + "()"
|
||||||
|
pos1 := strings.Index(Otvet, TextFind)
|
||||||
|
if pos1 < 0 {
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
s2 := Otvet[pos1:]
|
||||||
|
|
||||||
|
posEnd := strings.Index(s2, "\n")
|
||||||
|
if posEnd < 0 {
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
|
||||||
|
Otvet = Otvet[:pos1-1] + Otvet[pos1+posEnd+1:]
|
||||||
|
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindPrimaryKeyNameTypeGo - возвращает наименование колонки PrimaryKey
|
||||||
|
func FindPrimaryKeyNameTypeGo(Table1 *types.Table) (string, string) {
|
||||||
|
Otvet := ""
|
||||||
|
Type := ""
|
||||||
|
|
||||||
|
for _, Column1 := range Table1.MapColumns {
|
||||||
|
if Column1.IsIdentity == true {
|
||||||
|
return Column1.NameGo, Column1.TypeGo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Otvet, Type
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReplacePrimaryKeyID - заменяет "ID" на название колонки PrimaryKey
|
||||||
|
func ReplacePrimaryKeyID(Text string, Table1 *types.Table) string {
|
||||||
|
Otvet := Text
|
||||||
|
|
||||||
|
ColumnName, ColumnTypeGo := FindPrimaryKeyNameTypeGo(Table1)
|
||||||
|
if mini_func.IsNumberType(ColumnTypeGo) == true {
|
||||||
|
Otvet = strings.ReplaceAll(Otvet, "Otvet.ID", "Otvet."+ColumnName)
|
||||||
|
} else if ColumnTypeGo == "string" {
|
||||||
|
Otvet = strings.ReplaceAll(Otvet, "Otvet.ID == 0", "Otvet."+ColumnName+" == \"\"")
|
||||||
|
Otvet = strings.ReplaceAll(Otvet, "Otvet.ID", "Otvet."+ColumnName)
|
||||||
|
}
|
||||||
|
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddSkipNow - добавляет строку t.SkipNow()
|
||||||
|
func AddSkipNow(Text string, Table1 *types.Table) string {
|
||||||
|
Otvet := Text
|
||||||
|
|
||||||
|
if Table1.IDMinimum == "" || Table1.IDMinimum == "0" {
|
||||||
|
TextFind := "(t *testing.T) {"
|
||||||
|
Otvet = strings.ReplaceAll(Otvet, TextFind, TextFind+"\n\tt.SkipNow() //now rows in DB\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
|
||||||
|
// CheckGoodTable - возвращает ошибку если таблица неправильная
|
||||||
|
func CheckGoodTable(Table1 *types.Table) error {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
ColumnName, _ := FindPrimaryKeyNameTypeGo(Table1)
|
||||||
|
if ColumnName == "" {
|
||||||
|
TextError := fmt.Sprint("Wrong table ", Table1.Name, " error: not found Primary key")
|
||||||
|
err = errors.New(TextError)
|
||||||
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// PrintableString - возвращает строку без запрещённых символов
|
||||||
|
func PrintableString(s string) string {
|
||||||
|
Otvet := s
|
||||||
|
Otvet = strconv.Quote(Otvet) //экранирование символов
|
||||||
|
len1 := len(Otvet)
|
||||||
|
if len1 > 0 {
|
||||||
|
Otvet = Otvet[1 : len1-1]
|
||||||
|
}
|
||||||
|
|
||||||
|
return Otvet
|
||||||
|
}
|
||||||
|
@ -10,9 +10,33 @@ func TestFindSingularName(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFormatName(t *testing.T) {
|
func TestFormatName(t *testing.T) {
|
||||||
Name := "contract_id"
|
Name := "document_invoice_id"
|
||||||
Otvet := FormatName(Name)
|
Otvet := FormatName(Name)
|
||||||
if Otvet == "" {
|
if Otvet == "" {
|
||||||
t.Error("TestFormatName() error")
|
t.Error("TestFormatName() error")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDeleteLineWithComment(t *testing.T) {
|
||||||
|
s := `import (
|
||||||
|
"gitlab.aescorp.ru/dsp_dev/claim/nikitin/config"
|
||||||
|
"gitlab.aescorp.ru/dsp_dev/claim/nikitin/postgres_gorm"
|
||||||
|
"gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/object_model/entities/lawsuit_status_types"
|
||||||
|
"testing"
|
||||||
|
//TestFind_ByExtID() "gitlab.aescorp.ru/dsp_dev/claim/sync_service/pkg/db/constants"
|
||||||
|
)
|
||||||
|
`
|
||||||
|
Otvet := DeleteLineWithComment(s, "TestFind_ByExtID")
|
||||||
|
if Otvet == "" {
|
||||||
|
t.Error("TestFormatName() error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPrintableString(t *testing.T) {
|
||||||
|
s := `123 // \\ 456
|
||||||
|
789`
|
||||||
|
Otvet := PrintableString(s)
|
||||||
|
if Otvet == "" {
|
||||||
|
t.Error("TestPrintableString() error: Otvet = ''")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -16,18 +16,25 @@ import (
|
|||||||
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
for _, table1 := range MapAll {
|
for _, Table1 := range MapAll {
|
||||||
|
//проверка что таблица нормальная
|
||||||
|
err1 := create_files.CheckGoodTable(Table1)
|
||||||
|
if err1 != nil {
|
||||||
|
log.Warn(err1)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
//файлы db
|
//файлы db
|
||||||
err = CreateFiles(table1)
|
err = CreateFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//тестовые файлы db
|
//тестовые файлы db
|
||||||
err = CreateTestFiles(table1)
|
err = CreateTestFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateTestFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateTestFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -132,12 +139,18 @@ func CreateTestFiles(Table1 *types.Table) error {
|
|||||||
}
|
}
|
||||||
TextDB = DeleteFuncTestFind_byExtID(TextDB, Table1)
|
TextDB = DeleteFuncTestFind_byExtID(TextDB, Table1)
|
||||||
|
|
||||||
//ID Minimum
|
//Postgres_ID_Test = ID Minimum
|
||||||
if Table1.IDMinimum != "" {
|
if Table1.IDMinimum != "" {
|
||||||
TextFind := "const Postgres_ID_Test = "
|
TextFind := "const Postgres_ID_Test = "
|
||||||
TextDB = strings.ReplaceAll(TextDB, TextFind+"1", TextFind+Table1.IDMinimum)
|
TextDB = strings.ReplaceAll(TextDB, TextFind+"1", TextFind+Table1.IDMinimum)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//SkipNow()
|
||||||
|
TextDB = create_files.AddSkipNow(TextDB, Table1)
|
||||||
|
|
||||||
|
// замена ID на PrimaryKey
|
||||||
|
TextDB = create_files.ReplacePrimaryKeyID(TextDB, Table1)
|
||||||
|
|
||||||
//запись файла
|
//запись файла
|
||||||
err = os.WriteFile(FilenameReadyDB, []byte(TextDB), constants.FILE_PERMISSIONS)
|
err = os.WriteFile(FilenameReadyDB, []byte(TextDB), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
@ -264,14 +277,18 @@ func DeleteFuncTestRestore(Text string, Table1 *types.Table) string {
|
|||||||
func DeleteFuncTestFind_byExtID(Text string, Table1 *types.Table) string {
|
func DeleteFuncTestFind_byExtID(Text string, Table1 *types.Table) string {
|
||||||
Otvet := Text
|
Otvet := Text
|
||||||
|
|
||||||
|
FuncName := "TestFind_ByExtID"
|
||||||
|
|
||||||
//если есть обе колонки - ничего не делаем
|
//если есть обе колонки - ничего не делаем
|
||||||
ok := create_files.Has_Column_ExtID_ConnectionID(Table1)
|
ok := create_files.Has_Column_ExtID_ConnectionID(Table1)
|
||||||
if ok == true {
|
if ok == true {
|
||||||
|
Otvet = create_files.DeleteCommentFromFuncName(Otvet, FuncName)
|
||||||
return Otvet
|
return Otvet
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
Otvet = create_files.DeleteFuncFromFuncName(Otvet, "TestFind_ByExtID")
|
Otvet = create_files.DeleteFuncFromFuncName(Otvet, FuncName)
|
||||||
|
//Otvet = create_files.DeleteLineWithComment(Otvet, FuncName)
|
||||||
|
|
||||||
return Otvet
|
return Otvet
|
||||||
}
|
}
|
||||||
|
@ -15,18 +15,25 @@ import (
|
|||||||
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
for _, table1 := range MapAll {
|
for _, Table1 := range MapAll {
|
||||||
|
//проверка что таблица нормальная
|
||||||
|
err1 := create_files.CheckGoodTable(Table1)
|
||||||
|
if err1 != nil {
|
||||||
|
log.Warn(err1)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
//файлы grpc_client
|
//файлы grpc_client
|
||||||
err = CreateFiles(table1)
|
err = CreateFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//тестовые файлы grpc_client
|
//тестовые файлы grpc_client
|
||||||
err = CreateTestFiles(table1)
|
err = CreateTestFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateTestFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateTestFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,6 +135,12 @@ func CreateTestFiles(Table1 *types.Table) error {
|
|||||||
}
|
}
|
||||||
TextDB = DeleteFuncTestFind_byExtID(TextDB, ModelName, Table1)
|
TextDB = DeleteFuncTestFind_byExtID(TextDB, ModelName, Table1)
|
||||||
|
|
||||||
|
// замена ID на PrimaryKey
|
||||||
|
TextDB = create_files.ReplacePrimaryKeyID(TextDB, Table1)
|
||||||
|
|
||||||
|
//SkipNow()
|
||||||
|
TextDB = create_files.AddSkipNow(TextDB, Table1)
|
||||||
|
|
||||||
//запись файла
|
//запись файла
|
||||||
err = os.WriteFile(FilenameReadyGRPCClient, []byte(TextDB), constants.FILE_PERMISSIONS)
|
err = os.WriteFile(FilenameReadyGRPCClient, []byte(TextDB), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
|
@ -15,18 +15,25 @@ import (
|
|||||||
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
for _, table1 := range MapAll {
|
for _, Table1 := range MapAll {
|
||||||
|
//проверка что таблица нормальная
|
||||||
|
err1 := create_files.CheckGoodTable(Table1)
|
||||||
|
if err1 != nil {
|
||||||
|
log.Warn(err1)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
//файлы grpc_server
|
//файлы grpc_server
|
||||||
err = CreateFiles(table1)
|
err = CreateFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//тестовые файлы grpc_server
|
//тестовые файлы grpc_server
|
||||||
err = CreateTestFiles(table1)
|
err = CreateTestFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateTestFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateTestFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,6 +117,12 @@ func CreateTestFiles(Table1 *types.Table) error {
|
|||||||
}
|
}
|
||||||
TextDB = DeleteFuncTestFind_byExtID(TextDB, ModelName, Table1)
|
TextDB = DeleteFuncTestFind_byExtID(TextDB, ModelName, Table1)
|
||||||
|
|
||||||
|
// замена ID на PrimaryKey
|
||||||
|
TextDB = create_files.ReplacePrimaryKeyID(TextDB, Table1)
|
||||||
|
|
||||||
|
//SkipNow()
|
||||||
|
TextDB = create_files.AddSkipNow(TextDB, Table1)
|
||||||
|
|
||||||
//запись файла
|
//запись файла
|
||||||
err = os.WriteFile(FilenameReadyGRPCServer, []byte(TextDB), constants.FILE_PERMISSIONS)
|
err = os.WriteFile(FilenameReadyGRPCServer, []byte(TextDB), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
"github.com/ManyakRus/starter/micro"
|
"github.com/ManyakRus/starter/micro"
|
||||||
"os"
|
"os"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -141,7 +140,7 @@ func FindTextColumn(Column1 *types.Column) string {
|
|||||||
TextDefaultValue := FindTextDefaultValue(Type_go)
|
TextDefaultValue := FindTextDefaultValue(Type_go)
|
||||||
TextPrimaryKey := FindTextPrimaryKey(Column1.IsIdentity)
|
TextPrimaryKey := FindTextPrimaryKey(Column1.IsIdentity)
|
||||||
Description := Column1.Description
|
Description := Column1.Description
|
||||||
Description = strconv.Quote(Description) //экранирование символов
|
Description = create_files.PrintableString(Description) //экранирование символов
|
||||||
|
|
||||||
Otvet = Otvet + "\t" + ColumnModelName + " " + Type_go + "\t"
|
Otvet = Otvet + "\t" + ColumnModelName + " " + Type_go + "\t"
|
||||||
Otvet = Otvet + "`json:\"" + ColumnName + "\""
|
Otvet = Otvet + "`json:\"" + ColumnName + "\""
|
||||||
|
@ -15,18 +15,25 @@ import (
|
|||||||
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
func CreateAllFiles(MapAll map[string]*types.Table) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
for _, table1 := range MapAll {
|
for _, Table1 := range MapAll {
|
||||||
|
//проверка что таблица нормальная
|
||||||
|
err1 := create_files.CheckGoodTable(Table1)
|
||||||
|
if err1 != nil {
|
||||||
|
log.Warn(err1)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
//файлы nrpc_client
|
//файлы nrpc_client
|
||||||
err = CreateFiles(table1)
|
err = CreateFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//тестовые файлы nrpc_client
|
//тестовые файлы nrpc_client
|
||||||
err = CreateTestFiles(table1)
|
err = CreateTestFiles(Table1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("CreateTestFiles() table: ", table1.Name, " error: ", err)
|
log.Error("CreateTestFiles() table: ", Table1.Name, " error: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,6 +135,12 @@ func CreateTestFiles(Table1 *types.Table) error {
|
|||||||
}
|
}
|
||||||
TextDB = DeleteFuncTestFind_byExtID(TextDB, ModelName, Table1)
|
TextDB = DeleteFuncTestFind_byExtID(TextDB, ModelName, Table1)
|
||||||
|
|
||||||
|
// замена ID на PrimaryKey
|
||||||
|
TextDB = create_files.ReplacePrimaryKeyID(TextDB, Table1)
|
||||||
|
|
||||||
|
//SkipNow()
|
||||||
|
TextDB = create_files.AddSkipNow(TextDB, Table1)
|
||||||
|
|
||||||
//запись файла
|
//запись файла
|
||||||
err = os.WriteFile(FilenameReadyNRPCClient, []byte(TextDB), constants.FILE_PERMISSIONS)
|
err = os.WriteFile(FilenameReadyNRPCClient, []byte(TextDB), constants.FILE_PERMISSIONS)
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ on
|
|||||||
|
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
--and c.confrelid = (select oid from pg_class where relname = 'debt_types')
|
--and c.confrelid = (select oid from pg_class where relname = 'debt_types')
|
||||||
AND c.confrelid!=c.conrelid
|
--AND c.confrelid!=c.conrelid
|
||||||
;
|
;
|
||||||
|
|
||||||
------------------------------------------- Все таблицы и колонки ------------------------------
|
------------------------------------------- Все таблицы и колонки ------------------------------
|
||||||
|
Reference in New Issue
Block a user