This commit is contained in:
parent
5669b376b2
commit
dc28c6f6fc
28
cmd/api/internal/domain/city.go
Normal file
28
cmd/api/internal/domain/city.go
Normal file
@ -0,0 +1,28 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameCity = "city"
|
||||
|
||||
// City mapped from table <city>
|
||||
type City struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:city_name_idx,priority:1" json:"name"`
|
||||
ProvinceID *string `gorm:"column:province_id;type:character(26);index:city_province_id_idx,priority:1" json:"province_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:city_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
}
|
||||
|
||||
// TableName City's table name
|
||||
func (*City) TableName() string {
|
||||
return TableNameCity
|
||||
}
|
||||
31
cmd/api/internal/domain/cost_component.go
Normal file
31
cmd/api/internal/domain/cost_component.go
Normal file
@ -0,0 +1,31 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameCostComponent = "cost_component"
|
||||
|
||||
// CostComponent mapped from table <cost_component>
|
||||
type CostComponent struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:cost_component_name_idx,priority:1" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26);index:cost_component_merchant_id_idx,priority:1" json:"merchant_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:cost_component_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone;default:now()" json:"updated_on"`
|
||||
Inc *int32 `gorm:"column:inc;type:integer" json:"inc"`
|
||||
Code *string `gorm:"column:code;type:character varying(100)" json:"code"`
|
||||
Value *string `gorm:"column:value;type:character varying(255)" json:"value"`
|
||||
CostComponentGroupID *string `gorm:"column:cost_component_group_id;type:character(26);index:cost_component_cost_component_group_id_idx,priority:1" json:"cost_component_group_id"`
|
||||
}
|
||||
|
||||
// TableName CostComponent's table name
|
||||
func (*CostComponent) TableName() string {
|
||||
return TableNameCostComponent
|
||||
}
|
||||
30
cmd/api/internal/domain/cost_component_group.go
Normal file
30
cmd/api/internal/domain/cost_component_group.go
Normal file
@ -0,0 +1,30 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameCostComponentGroup = "cost_component_group"
|
||||
|
||||
// CostComponentGroup mapped from table <cost_component_group>
|
||||
type CostComponentGroup struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255)" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
Code *string `gorm:"column:code;type:character varying(100)" json:"code"`
|
||||
Inc *int32 `gorm:"column:inc;type:integer" json:"inc"`
|
||||
Value *string `gorm:"column:value;type:character varying(255)" json:"value"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26)" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
}
|
||||
|
||||
// TableName CostComponentGroup's table name
|
||||
func (*CostComponentGroup) TableName() string {
|
||||
return TableNameCostComponentGroup
|
||||
}
|
||||
29
cmd/api/internal/domain/district.go
Normal file
29
cmd/api/internal/domain/district.go
Normal file
@ -0,0 +1,29 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameDistrict = "district"
|
||||
|
||||
// District mapped from table <district>
|
||||
type District struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:district_name_idx,priority:1" json:"name"`
|
||||
ProvinceID *string `gorm:"column:province_id;type:character(26);index:district_province_id_idx,priority:1" json:"province_id"`
|
||||
CityID *string `gorm:"column:city_id;type:character(26);index:district_city_id_idx,priority:1" json:"city_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:district_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
}
|
||||
|
||||
// TableName District's table name
|
||||
func (*District) TableName() string {
|
||||
return TableNameDistrict
|
||||
}
|
||||
36
cmd/api/internal/domain/merchant.go
Normal file
36
cmd/api/internal/domain/merchant.go
Normal file
@ -0,0 +1,36 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameMerchant = "merchant"
|
||||
|
||||
// Merchant mapped from table <merchant>
|
||||
type Merchant struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:merchant_name_idx,priority:3" json:"name"`
|
||||
Address *string `gorm:"column:address;type:character varying(500);index:merchant_name_idx,priority:1" json:"address"`
|
||||
Email *string `gorm:"column:email;type:character varying(200);index:merchant_name_idx,priority:2" json:"email"`
|
||||
Telp *string `gorm:"column:telp;type:character varying(50);index:merchant_name_idx,priority:4" json:"telp"`
|
||||
AdditionalInformation *string `gorm:"column:additional_information;type:jsonb;index:merchant_additional_information_idx,priority:1;default:{}" json:"additional_information"`
|
||||
Active *bool `gorm:"column:active;type:boolean;default:true" json:"active"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26)" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone;default:now()" json:"updated_on"`
|
||||
ProvinceID *string `gorm:"column:province_id;type:character(26);index:merchant_province_id_idx,priority:1" json:"province_id"`
|
||||
CityID *string `gorm:"column:city_id;type:character(26);index:merchant_city_id_idx,priority:1" json:"city_id"`
|
||||
DistrictID *string `gorm:"column:district_id;type:character(26);index:merchant_district_id_idx,priority:1" json:"district_id"`
|
||||
SubdistrictID *string `gorm:"column:subdistrict_id;type:character(26);index:merchant_subdistrict_id_idx,priority:1" json:"subdistrict_id"`
|
||||
PostalCode *string `gorm:"column:postal_code;type:character(26);index:merchant_postal_code_idx,priority:1" json:"postal_code"`
|
||||
}
|
||||
|
||||
// TableName Merchant's table name
|
||||
func (*Merchant) TableName() string {
|
||||
return TableNameMerchant
|
||||
}
|
||||
27
cmd/api/internal/domain/moda.go
Normal file
27
cmd/api/internal/domain/moda.go
Normal file
@ -0,0 +1,27 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameModa = "moda"
|
||||
|
||||
// Moda mapped from table <moda>
|
||||
type Moda struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:moda_name_idx,priority:1" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26);index:moda_merchant_id_idx,priority:1" json:"merchant_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:moda_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone;default:now()" json:"updated_on"`
|
||||
}
|
||||
|
||||
// TableName Moda's table name
|
||||
func (*Moda) TableName() string {
|
||||
return TableNameModa
|
||||
}
|
||||
27
cmd/api/internal/domain/package_type.go
Normal file
27
cmd/api/internal/domain/package_type.go
Normal file
@ -0,0 +1,27 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNamePackageType = "package_type"
|
||||
|
||||
// PackageType mapped from table <package_type>
|
||||
type PackageType struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:package_type_name_idx,priority:1" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26);index:package_type_merchant_id_idx,priority:1" json:"merchant_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26)" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
}
|
||||
|
||||
// TableName PackageType's table name
|
||||
func (*PackageType) TableName() string {
|
||||
return TableNamePackageType
|
||||
}
|
||||
31
cmd/api/internal/domain/postal_code.go
Normal file
31
cmd/api/internal/domain/postal_code.go
Normal file
@ -0,0 +1,31 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNamePostalCode = "postal_code"
|
||||
|
||||
// PostalCode mapped from table <postal_code>
|
||||
type PostalCode struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
PostalCode *string `gorm:"column:postal_code;type:character varying(255);index:postal_code_postal_code_idx,priority:1" json:"postal_code"`
|
||||
ProvinceID *string `gorm:"column:province_id;type:character(26);index:postal_code_province_id_idx,priority:1" json:"province_id"`
|
||||
CityID *string `gorm:"column:city_id;type:character(26);index:postal_code_city_id_idx,priority:1" json:"city_id"`
|
||||
DistrictID *string `gorm:"column:district_id;type:character(26);index:postal_code_district_id_idx,priority:1" json:"district_id"`
|
||||
SubdistrictID *string `gorm:"column:subdistrict_id;type:character(26);index:postal_code_subdistrict_id_idx,priority:1" json:"subdistrict_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:postal_code_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *string `gorm:"column:updated_on;type:character varying" json:"updated_on"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
}
|
||||
|
||||
// TableName PostalCode's table name
|
||||
func (*PostalCode) TableName() string {
|
||||
return TableNamePostalCode
|
||||
}
|
||||
27
cmd/api/internal/domain/province.go
Normal file
27
cmd/api/internal/domain/province.go
Normal file
@ -0,0 +1,27 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameProvince = "province"
|
||||
|
||||
// Province mapped from table <province>
|
||||
type Province struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:province_name_idx,priority:1" json:"name"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:province_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
}
|
||||
|
||||
// TableName Province's table name
|
||||
func (*Province) TableName() string {
|
||||
return TableNameProvince
|
||||
}
|
||||
30
cmd/api/internal/domain/subdistrict.go
Normal file
30
cmd/api/internal/domain/subdistrict.go
Normal file
@ -0,0 +1,30 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameSubdistrict = "subdistrict"
|
||||
|
||||
// Subdistrict mapped from table <subdistrict>
|
||||
type Subdistrict struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:subdistrit_name_idx,priority:1" json:"name"`
|
||||
ProvinceID *string `gorm:"column:province_id;type:character(26);index:subdistrit_province_id_idx,priority:1" json:"province_id"`
|
||||
CityID *string `gorm:"column:city_id;type:character(26);index:subdistrit_city_id_idx,priority:1" json:"city_id"`
|
||||
DistrictID *string `gorm:"column:district_id;type:character(26);index:subdistrit_district_id_idx,priority:1" json:"district_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:subdistrit_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
}
|
||||
|
||||
// TableName Subdistrict's table name
|
||||
func (*Subdistrict) TableName() string {
|
||||
return TableNameSubdistrict
|
||||
}
|
||||
33
cmd/api/internal/domain/users.go
Normal file
33
cmd/api/internal/domain/users.go
Normal file
@ -0,0 +1,33 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameUser = "users"
|
||||
|
||||
// User mapped from table <users>
|
||||
type User struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26);index:users_merchant_id_idx,priority:1" json:"merchant_id"`
|
||||
NickName *string `gorm:"column:nick_name;type:character varying(100);index:users_nick_name_idx,priority:2" json:"nick_name"`
|
||||
Email *string `gorm:"column:email;type:character varying(200);index:users_nick_name_idx,priority:1" json:"email"`
|
||||
Password *string `gorm:"column:password;type:character varying(300)" json:"password"`
|
||||
IsActive *bool `gorm:"column:is_active;type:boolean;default:true" json:"is_active"`
|
||||
UsersRoleID *string `gorm:"column:users_role_id;type:character(26)" json:"users_role_id"`
|
||||
Blocked *bool `gorm:"column:blocked;type:boolean" json:"blocked"`
|
||||
BlockedNotes *string `gorm:"column:blocked_notes;type:character varying(500)" json:"blocked_notes"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:users_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone;default:now()" json:"updated_on"`
|
||||
}
|
||||
|
||||
// TableName User's table name
|
||||
func (*User) TableName() string {
|
||||
return TableNameUser
|
||||
}
|
||||
29
cmd/api/internal/domain/users_.go
Normal file
29
cmd/api/internal/domain/users_.go
Normal file
@ -0,0 +1,29 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameUsers = "users_"
|
||||
|
||||
// Users mapped from table <users_>
|
||||
type Users struct {
|
||||
ID string `gorm:"column:id;type:uuid;not null;default:gen_random_uuid()" json:"id"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:uuid;index:idx_users_merchant,priority:1" json:"merchant_id"`
|
||||
Username string `gorm:"column:username;type:character varying(50);not null;index:idx_users_username,priority:1" json:"username"`
|
||||
Email string `gorm:"column:email;type:character varying(100);not null" json:"email"`
|
||||
Password string `gorm:"column:password;type:character varying(200);not null" json:"password"`
|
||||
Role string `gorm:"column:role;type:character varying(20);not null;default:cashier" json:"role"`
|
||||
IsActive *bool `gorm:"column:is_active;type:boolean;default:true" json:"is_active"`
|
||||
CreatedAt *time.Time `gorm:"column:created_at;type:timestamp without time zone;default:now()" json:"created_at"`
|
||||
UpdatedAt *time.Time `gorm:"column:updated_at;type:timestamp without time zone;default:now()" json:"updated_at"`
|
||||
}
|
||||
|
||||
// TableName Users's table name
|
||||
func (*Users) TableName() string {
|
||||
return TableNameUsers
|
||||
}
|
||||
28
cmd/api/internal/domain/users_roles.go
Normal file
28
cmd/api/internal/domain/users_roles.go
Normal file
@ -0,0 +1,28 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameUsersRole = "users_roles"
|
||||
|
||||
// UsersRole mapped from table <users_roles>
|
||||
type UsersRole struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255)" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26)" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone;default:now()" json:"updated_on"`
|
||||
RoleKey string `gorm:"column:role_key;type:character varying(20);not null" json:"role_key"`
|
||||
}
|
||||
|
||||
// TableName UsersRole's table name
|
||||
func (*UsersRole) TableName() string {
|
||||
return TableNameUsersRole
|
||||
}
|
||||
@ -5,7 +5,9 @@ import (
|
||||
"cargo-erp-backend/internal/database"
|
||||
"cargo-erp-backend/internal/handlers"
|
||||
"cargo-erp-backend/internal/logger"
|
||||
"cargo-erp-backend/migrations"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@ -23,12 +25,15 @@ func main() {
|
||||
db := database.NewDatabase(AppConfig, DBLogger, APPLogger)
|
||||
db.Connect()
|
||||
db.RegisterCallback()
|
||||
//
|
||||
migrations.GenerateModel(nil, db.Get("master"))
|
||||
os.Exit(0)
|
||||
|
||||
//redis
|
||||
redisDB := database.NewRedis(AppConfig, DBLogger)
|
||||
redisDB.Connect()
|
||||
redisDB.RegisterCallback()
|
||||
// migrations.GenerateModel(nil, db.Get("master"))
|
||||
|
||||
//
|
||||
Helper := helpers.NewHelper(AppConfig, db, APPLogger, redisDB)
|
||||
app := handlers.NewHandlers(Helper)
|
||||
|
||||
1
go.mod
1
go.mod
@ -42,6 +42,7 @@ require (
|
||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/oklog/ulid/v2 v2.1.2 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.10.0 // indirect
|
||||
github.com/sagikazarmark/locafero v0.11.0 // indirect
|
||||
|
||||
3
go.sum
3
go.sum
@ -87,6 +87,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/oklog/ulid/v2 v2.1.2 h1:IEclFb9JNvzYA6MW2SCxbLzcHTVsfqm3PrqGQJH5zec=
|
||||
github.com/oklog/ulid/v2 v2.1.2/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
|
||||
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
|
||||
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
|
||||
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
|
||||
@ -12,15 +12,17 @@ const TableNameCostComponent = "cost_component"
|
||||
|
||||
// CostComponent mapped from table <cost_component>
|
||||
type CostComponent struct {
|
||||
ID string `gorm:"column:id;type:character(26);primaryKey;default:generate_ulid()" json:"id"`
|
||||
ID string `gorm:"column:id;type:character(26);not null;default:generate_ulid()" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255);index:cost_component_name_idx,priority:1" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26);index:cost_component_merchant_id_idx,priority:1" json:"merchant_id"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26);index:cost_component_created_by_idx,priority:1" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone;default:now()" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone;default:now()" json:"updated_on"`
|
||||
Inc *string `gorm:"column:inc;type:character varying" json:"inc"`
|
||||
Inc *int32 `gorm:"column:inc;type:integer" json:"inc"`
|
||||
Code *string `gorm:"column:code;type:character varying(100)" json:"code"`
|
||||
Value *string `gorm:"column:value;type:character varying(255)" json:"value"`
|
||||
CostComponentGroupID *string `gorm:"column:cost_component_group_id;type:character(26);index:cost_component_cost_component_group_id_idx,priority:1" json:"cost_component_group_id"`
|
||||
}
|
||||
|
||||
// TableName CostComponent's table name
|
||||
|
||||
30
internal/domain/cost_component_group.go
Normal file
30
internal/domain/cost_component_group.go
Normal file
@ -0,0 +1,30 @@
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
// Code generated by gorm.io/gen. DO NOT EDIT.
|
||||
|
||||
package domain
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
const TableNameCostComponentGroup = "cost_component_group"
|
||||
|
||||
// CostComponentGroup mapped from table <cost_component_group>
|
||||
type CostComponentGroup struct {
|
||||
ID string `gorm:"column:id;type:character(26);not null" json:"id"`
|
||||
Name *string `gorm:"column:name;type:character varying(255)" json:"name"`
|
||||
MerchantID *string `gorm:"column:merchant_id;type:character(26)" json:"merchant_id"`
|
||||
Code *string `gorm:"column:code;type:character varying(100)" json:"code"`
|
||||
Inc *int32 `gorm:"column:inc;type:integer" json:"inc"`
|
||||
Value *string `gorm:"column:value;type:character varying(255)" json:"value"`
|
||||
CreatedBy *string `gorm:"column:created_by;type:character(26)" json:"created_by"`
|
||||
CreatedOn *time.Time `gorm:"column:created_on;type:timestamp without time zone" json:"created_on"`
|
||||
UpdatedBy *string `gorm:"column:updated_by;type:character(26)" json:"updated_by"`
|
||||
UpdatedOn *time.Time `gorm:"column:updated_on;type:timestamp without time zone" json:"updated_on"`
|
||||
}
|
||||
|
||||
// TableName CostComponentGroup's table name
|
||||
func (*CostComponentGroup) TableName() string {
|
||||
return TableNameCostComponentGroup
|
||||
}
|
||||
46
internal/handlers/dto/cost_component.go
Normal file
46
internal/handlers/dto/cost_component.go
Normal file
@ -0,0 +1,46 @@
|
||||
package dto
|
||||
|
||||
type CreateCostComponentRequest struct {
|
||||
Name string `json:"name" binding:"required,min=2"`
|
||||
Code string `json:"code" binding:"required"`
|
||||
Inc int32 `json:"inc"`
|
||||
Value string `json:"value"`
|
||||
CostComponentGroupID string `json:"cost_component_group_id" binding:"required"`
|
||||
}
|
||||
|
||||
type CreateCostComponentResponse struct {
|
||||
ID string `json:"id"`
|
||||
Name *string `json:"name"`
|
||||
Code *string `json:"code"`
|
||||
Inc *int32 `json:"inc"`
|
||||
Value *string `json:"value"`
|
||||
CostComponentGroupID *string `json:"cost_component_group_id"`
|
||||
MerchantID *string `json:"merchant_id"`
|
||||
}
|
||||
|
||||
type CostComponentFilterAllRequest struct {
|
||||
ID string `json:"id" form:"id"`
|
||||
Name string `json:"name" form:"name"`
|
||||
Code string `json:"code" form:"code"`
|
||||
CostComponentGroupID string `json:"cost_component_group_id" form:"cost_component_group_id"`
|
||||
MerchantID string `json:"merchant_id" form:"merchant_id"`
|
||||
}
|
||||
|
||||
type UpdateCostComponentRequest struct {
|
||||
Name string `json:"name" binding:"required,min=2"`
|
||||
Code string `json:"code" binding:"required"`
|
||||
Inc int32 `json:"inc"`
|
||||
Value string `json:"value"`
|
||||
CostComponentGroupID string `json:"cost_component_group_id" binding:"required"`
|
||||
}
|
||||
|
||||
type ImportCostComponentResponse struct {
|
||||
JobID string `json:"job_id,omitempty"`
|
||||
TotalRows int `json:"total_rows"`
|
||||
Imported int `json:"imported"`
|
||||
Skipped int `json:"skipped"`
|
||||
Logs []ImportLog `json:"logs"`
|
||||
Errors []string `json:"errors"`
|
||||
IsAsync bool `json:"is_async"`
|
||||
Message string `json:"message,omitempty"`
|
||||
}
|
||||
42
internal/handlers/dto/cost_component_group.go
Normal file
42
internal/handlers/dto/cost_component_group.go
Normal file
@ -0,0 +1,42 @@
|
||||
package dto
|
||||
|
||||
type CreateCostComponentGroupRequest struct {
|
||||
Name string `json:"name" binding:"required,min=2"`
|
||||
Code string `json:"code" binding:"required"`
|
||||
Inc int32 `json:"inc"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type CreateCostComponentGroupResponse struct {
|
||||
ID string `json:"id"`
|
||||
Name *string `json:"name"`
|
||||
Code *string `json:"code"`
|
||||
Inc *int32 `json:"inc"`
|
||||
Value *string `json:"value"`
|
||||
MerchantID *string `json:"merchant_id"`
|
||||
}
|
||||
|
||||
type CostComponentGroupFilterAllRequest struct {
|
||||
ID string `json:"id" form:"id"`
|
||||
Name string `json:"name" form:"name"`
|
||||
Code string `json:"code" form:"code"`
|
||||
MerchantID string `json:"merchant_id" form:"merchant_id"`
|
||||
}
|
||||
|
||||
type UpdateCostComponentGroupRequest struct {
|
||||
Name string `json:"name" binding:"required,min=2"`
|
||||
Code string `json:"code" binding:"required"`
|
||||
Inc int32 `json:"inc"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type ImportCostComponentGroupResponse struct {
|
||||
JobID string `json:"job_id,omitempty"`
|
||||
TotalRows int `json:"total_rows"`
|
||||
Imported int `json:"imported"`
|
||||
Skipped int `json:"skipped"`
|
||||
Logs []ImportLog `json:"logs"`
|
||||
Errors []string `json:"errors"`
|
||||
IsAsync bool `json:"is_async"`
|
||||
Message string `json:"message,omitempty"`
|
||||
}
|
||||
@ -3,6 +3,8 @@ package handlers
|
||||
import (
|
||||
"cargo-erp-backend/internal/handlers/router/auth"
|
||||
"cargo-erp-backend/internal/handlers/router/city"
|
||||
"cargo-erp-backend/internal/handlers/router/cost_component"
|
||||
"cargo-erp-backend/internal/handlers/router/cost_component_group"
|
||||
"cargo-erp-backend/internal/handlers/router/district"
|
||||
"cargo-erp-backend/internal/handlers/router/postal_code"
|
||||
"cargo-erp-backend/internal/handlers/router/province"
|
||||
@ -113,6 +115,8 @@ func (h *Handlers) Run() {
|
||||
district.NewDistrictHandler(h.Helper, masterdata).Router()
|
||||
subdistrict.NewSubdistrictHandler(h.Helper, masterdata).Router()
|
||||
postal_code.NewPostalCodeHandler(h.Helper, masterdata).Router()
|
||||
cost_component_group.NewCostComponentGroupHandler(h.Helper, masterdata).Router()
|
||||
cost_component.NewCostComponentHandler(h.Helper, masterdata).Router()
|
||||
}
|
||||
|
||||
h.Helper.Log().Info("Starting Apps")
|
||||
|
||||
281
internal/handlers/router/cost_component/cost_component.go
Normal file
281
internal/handlers/router/cost_component/cost_component.go
Normal file
@ -0,0 +1,281 @@
|
||||
package cost_component
|
||||
|
||||
import (
|
||||
"cargo-erp-backend/internal/handlers/dto"
|
||||
cost_componentimporter "cargo-erp-backend/internal/importers/cost_component"
|
||||
"cargo-erp-backend/internal/usecases"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"cargo-erp-backend/pkg/importer"
|
||||
"cargo-erp-backend/pkg/response"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type CostComponentHandlerInterface interface {
|
||||
Router()
|
||||
}
|
||||
|
||||
type CostComponentHandler struct {
|
||||
Helper helpers.HelperInterface
|
||||
Group *gin.RouterGroup
|
||||
}
|
||||
|
||||
func NewCostComponentHandler(helper helpers.HelperInterface, g *gin.RouterGroup) CostComponentHandlerInterface {
|
||||
return &CostComponentHandler{Helper: helper, Group: g}
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) Router() {
|
||||
r := h.Group.Group("cost-components")
|
||||
{
|
||||
r.GET("/", h.GetAll)
|
||||
r.POST("/list", h.GetList)
|
||||
r.GET("/:id", h.GetByID)
|
||||
r.POST("/", h.Create)
|
||||
r.PUT("/:id", h.Update)
|
||||
r.DELETE("/:id", h.Delete)
|
||||
r.GET("/template", h.Template)
|
||||
r.POST("/import", h.Import)
|
||||
r.POST("/import/stop", h.ImportStop)
|
||||
r.GET("/import/status/:jobId", h.ImportStatus)
|
||||
}
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) GetAll(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
var req dto.CostComponentFilterAllRequest
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
u := usecases.NewCostComponentUsecase(h.Helper, *userid)
|
||||
components, _, err := u.GetAll(req)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
var responseDTO = make([]dto.CreateCostComponentResponse, 0)
|
||||
for _, v := range components {
|
||||
var DTO dto.CreateCostComponentResponse
|
||||
h.Helper.MapStructToStruct(v, "json", &DTO, "json")
|
||||
responseDTO = append(responseDTO, DTO)
|
||||
}
|
||||
response.Success(c, responseDTO)
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) GetList(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var req dto.DataTableRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, "Request Format request invalid")
|
||||
return
|
||||
}
|
||||
u := usecases.NewCostComponentUsecase(h.Helper, *userid)
|
||||
res, err := u.GetList(req)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
response.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) GetByID(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
id := c.Param("id")
|
||||
|
||||
u := usecases.NewCostComponentUsecase(h.Helper, *userid)
|
||||
component, err := u.GetByID(id)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusNotFound, "cost component not found")
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, component)
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) Create(c *gin.Context) {
|
||||
var req dto.CreateCostComponentRequest
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
var merchantid *string = nil
|
||||
if userid.UsersRole_Relation.RoleKey != "SPM" {
|
||||
merchantid = userid.MerchantID
|
||||
}
|
||||
createdBy := userid.ID
|
||||
|
||||
u := usecases.NewCostComponentUsecase(h.Helper, *userid)
|
||||
component, err := u.Create(req.Name, req.Code, req.Inc, req.Value, req.CostComponentGroupID, createdBy, merchantid)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
var responseDTO dto.CreateCostComponentResponse
|
||||
h.Helper.MapStructToStruct(component, "json", &responseDTO, "json")
|
||||
response.Created(c, responseDTO)
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) Update(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
|
||||
var req dto.UpdateCostComponentRequest
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
updatedBy := userid.ID
|
||||
|
||||
u := usecases.NewCostComponentUsecase(h.Helper, *userid)
|
||||
component, err := u.Update(id, req.Name, req.Code, req.Inc, req.Value, req.CostComponentGroupID, updatedBy)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
var responseDTO dto.CreateCostComponentResponse
|
||||
h.Helper.MapStructToStruct(component, "json", &responseDTO, "json")
|
||||
response.Success(c, responseDTO)
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) Delete(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
id := c.Param("id")
|
||||
u := usecases.NewCostComponentUsecase(h.Helper, *userid)
|
||||
if err := u.Delete(id); err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, map[string]interface{}{"message": "cost component deleted"})
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) Template(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
handler := cost_componentimporter.NewCostComponentImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
imp.ServeTemplate(c.Writer)
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) Import(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
file, header, err := c.Request.FormFile("file")
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusBadRequest, "File is required")
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
handler := cost_componentimporter.NewCostComponentImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
|
||||
result, err := imp.Process(file, userid.ID, header.Filename)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var importLogs []dto.ImportLog
|
||||
for _, l := range result.Logs {
|
||||
importLogs = append(importLogs, dto.ImportLog{
|
||||
Row: l.Row,
|
||||
Status: l.Status,
|
||||
Data: l.Data,
|
||||
Message: l.Message,
|
||||
})
|
||||
}
|
||||
|
||||
response.Success(c, dto.ImportCostComponentResponse{
|
||||
JobID: result.JobID,
|
||||
TotalRows: result.TotalRows,
|
||||
Imported: result.Imported,
|
||||
Skipped: result.Skipped,
|
||||
Logs: importLogs,
|
||||
Errors: result.Errors,
|
||||
IsAsync: result.IsAsync,
|
||||
Message: result.Message,
|
||||
})
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) ImportStatus(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
jobId := c.Param("jobId")
|
||||
|
||||
handler := cost_componentimporter.NewCostComponentImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
|
||||
job, logs, err := imp.GetJobStatus(jobId)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusNotFound, "Job not found")
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, map[string]interface{}{
|
||||
"job": job,
|
||||
"logs": logs,
|
||||
})
|
||||
}
|
||||
|
||||
func (h *CostComponentHandler) ImportStop(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var req dto.StopImportRequest
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, "job_id is required")
|
||||
return
|
||||
}
|
||||
|
||||
handler := cost_componentimporter.NewCostComponentImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
|
||||
if err := imp.StopJob(req.JobID); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, map[string]interface{}{"message": "Job stopped"})
|
||||
}
|
||||
@ -0,0 +1,281 @@
|
||||
package cost_component_group
|
||||
|
||||
import (
|
||||
"cargo-erp-backend/internal/handlers/dto"
|
||||
cost_component_groupimporter "cargo-erp-backend/internal/importers/cost_component_group"
|
||||
"cargo-erp-backend/internal/usecases"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"cargo-erp-backend/pkg/importer"
|
||||
"cargo-erp-backend/pkg/response"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type CostComponentGroupHandlerInterface interface {
|
||||
Router()
|
||||
}
|
||||
|
||||
type CostComponentGroupHandler struct {
|
||||
Helper helpers.HelperInterface
|
||||
Group *gin.RouterGroup
|
||||
}
|
||||
|
||||
func NewCostComponentGroupHandler(helper helpers.HelperInterface, g *gin.RouterGroup) CostComponentGroupHandlerInterface {
|
||||
return &CostComponentGroupHandler{Helper: helper, Group: g}
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) Router() {
|
||||
r := h.Group.Group("cost-component-groups")
|
||||
{
|
||||
r.GET("/", h.GetAll)
|
||||
r.POST("/list", h.GetList)
|
||||
r.GET("/:id", h.GetByID)
|
||||
r.POST("/", h.Create)
|
||||
r.PUT("/:id", h.Update)
|
||||
r.DELETE("/:id", h.Delete)
|
||||
r.GET("/template", h.Template)
|
||||
r.POST("/import", h.Import)
|
||||
r.POST("/import/stop", h.ImportStop)
|
||||
r.GET("/import/status/:jobId", h.ImportStatus)
|
||||
}
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) GetAll(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
var req dto.CostComponentGroupFilterAllRequest
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
u := usecases.NewCostComponentGroupUsecase(h.Helper, *userid)
|
||||
groups, _, err := u.GetAll(req)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
var responseDTO = make([]dto.CreateCostComponentGroupResponse, 0)
|
||||
for _, v := range groups {
|
||||
var DTO dto.CreateCostComponentGroupResponse
|
||||
h.Helper.MapStructToStruct(v, "json", &DTO, "json")
|
||||
responseDTO = append(responseDTO, DTO)
|
||||
}
|
||||
response.Success(c, responseDTO)
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) GetList(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var req dto.DataTableRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, "Request Format request invalid")
|
||||
return
|
||||
}
|
||||
u := usecases.NewCostComponentGroupUsecase(h.Helper, *userid)
|
||||
res, err := u.GetList(req)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
response.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) GetByID(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
id := c.Param("id")
|
||||
|
||||
u := usecases.NewCostComponentGroupUsecase(h.Helper, *userid)
|
||||
group, err := u.GetByID(id)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusNotFound, "cost component group not found")
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, group)
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) Create(c *gin.Context) {
|
||||
var req dto.CreateCostComponentGroupRequest
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
var merchantid *string = nil
|
||||
if userid.UsersRole_Relation.RoleKey != "SPM" {
|
||||
merchantid = userid.MerchantID
|
||||
}
|
||||
createdBy := userid.ID
|
||||
|
||||
u := usecases.NewCostComponentGroupUsecase(h.Helper, *userid)
|
||||
group, err := u.Create(req.Name, req.Code, req.Inc, req.Value, createdBy, merchantid)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
var responseDTO dto.CreateCostComponentGroupResponse
|
||||
h.Helper.MapStructToStruct(group, "json", &responseDTO, "json")
|
||||
response.Created(c, responseDTO)
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) Update(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
|
||||
var req dto.UpdateCostComponentGroupRequest
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
updatedBy := userid.ID
|
||||
|
||||
u := usecases.NewCostComponentGroupUsecase(h.Helper, *userid)
|
||||
group, err := u.Update(id, req.Name, req.Code, req.Inc, req.Value, updatedBy)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
var responseDTO dto.CreateCostComponentGroupResponse
|
||||
h.Helper.MapStructToStruct(group, "json", &responseDTO, "json")
|
||||
response.Success(c, responseDTO)
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) Delete(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
id := c.Param("id")
|
||||
u := usecases.NewCostComponentGroupUsecase(h.Helper, *userid)
|
||||
if err := u.Delete(id); err != nil {
|
||||
response.Error(c, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, map[string]interface{}{"message": "cost component group deleted"})
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) Template(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
handler := cost_component_groupimporter.NewCostComponentGroupImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
imp.ServeTemplate(c.Writer)
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) Import(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
file, header, err := c.Request.FormFile("file")
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusBadRequest, "File is required")
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
handler := cost_component_groupimporter.NewCostComponentGroupImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
|
||||
result, err := imp.Process(file, userid.ID, header.Filename)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var importLogs []dto.ImportLog
|
||||
for _, l := range result.Logs {
|
||||
importLogs = append(importLogs, dto.ImportLog{
|
||||
Row: l.Row,
|
||||
Status: l.Status,
|
||||
Data: l.Data,
|
||||
Message: l.Message,
|
||||
})
|
||||
}
|
||||
|
||||
response.Success(c, dto.ImportCostComponentGroupResponse{
|
||||
JobID: result.JobID,
|
||||
TotalRows: result.TotalRows,
|
||||
Imported: result.Imported,
|
||||
Skipped: result.Skipped,
|
||||
Logs: importLogs,
|
||||
Errors: result.Errors,
|
||||
IsAsync: result.IsAsync,
|
||||
Message: result.Message,
|
||||
})
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) ImportStatus(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
jobId := c.Param("jobId")
|
||||
|
||||
handler := cost_component_groupimporter.NewCostComponentGroupImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
|
||||
job, logs, err := imp.GetJobStatus(jobId)
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusNotFound, "Job not found")
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, map[string]interface{}{
|
||||
"job": job,
|
||||
"logs": logs,
|
||||
})
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupHandler) ImportStop(c *gin.Context) {
|
||||
userid, err := h.Helper.GetAuthInfo(c.GetString("auth"))
|
||||
if err != nil {
|
||||
response.Error(c, http.StatusUnauthorized, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var req dto.StopImportRequest
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, "job_id is required")
|
||||
return
|
||||
}
|
||||
|
||||
handler := cost_component_groupimporter.NewCostComponentGroupImportHandler(*userid, h.Helper)
|
||||
imp := importer.NewImporter(h.Helper, handler)
|
||||
|
||||
if err := imp.StopJob(req.JobID); err != nil {
|
||||
response.Error(c, http.StatusBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, map[string]interface{}{"message": "Job stopped"})
|
||||
}
|
||||
132
internal/importers/cost_component/importer.go
Normal file
132
internal/importers/cost_component/importer.go
Normal file
@ -0,0 +1,132 @@
|
||||
package cost_component
|
||||
|
||||
import (
|
||||
"cargo-erp-backend/internal/domain"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"cargo-erp-backend/pkg/importer"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type CostComponentImportHandler struct {
|
||||
UserData domain.User
|
||||
Helper helpers.HelperInterface
|
||||
lastGroupName string
|
||||
}
|
||||
|
||||
func NewCostComponentImportHandler(userData domain.User, helper helpers.HelperInterface) importer.ImportHandler {
|
||||
return &CostComponentImportHandler{
|
||||
UserData: userData,
|
||||
Helper: helper,
|
||||
}
|
||||
}
|
||||
|
||||
func (h *CostComponentImportHandler) ValidateRow(row []string, rowNumber int) (importer.RowData, []error) {
|
||||
var errors []error
|
||||
|
||||
if len(row) < 5 {
|
||||
errors = append(errors, fmt.Errorf("row must have 5 columns: name, code, inc, value, cost_component_group_name"))
|
||||
return nil, errors
|
||||
}
|
||||
|
||||
name := strings.TrimSpace(row[0])
|
||||
if name == "" {
|
||||
errors = append(errors, fmt.Errorf("name is required"))
|
||||
} else if len(name) < 2 {
|
||||
errors = append(errors, fmt.Errorf("name must be at least 2 characters"))
|
||||
} else if len(name) > 255 {
|
||||
errors = append(errors, fmt.Errorf("name must be at most 255 characters"))
|
||||
}
|
||||
|
||||
code := strings.TrimSpace(row[1])
|
||||
if code == "" {
|
||||
errors = append(errors, fmt.Errorf("code is required"))
|
||||
}
|
||||
|
||||
incStr := strings.TrimSpace(row[2])
|
||||
var inc int32
|
||||
if incStr != "" {
|
||||
parsed, err := strconv.ParseInt(incStr, 10, 32)
|
||||
if err != nil {
|
||||
errors = append(errors, fmt.Errorf("inc must be a valid integer"))
|
||||
} else {
|
||||
inc = int32(parsed)
|
||||
}
|
||||
}
|
||||
|
||||
value := strings.TrimSpace(row[3])
|
||||
|
||||
groupName := strings.TrimSpace(row[4])
|
||||
if groupName == "" {
|
||||
errors = append(errors, fmt.Errorf("cost_component_group_name is required"))
|
||||
}
|
||||
|
||||
if len(errors) > 0 {
|
||||
return nil, errors
|
||||
}
|
||||
|
||||
var group domain.CostComponentGroup
|
||||
db := h.Helper.GetDB("slave")
|
||||
if err := db.Where("UPPER(name) = ?", strings.ToUpper(groupName)).First(&group).Error; err != nil {
|
||||
errors = append(errors, fmt.Errorf("cost_component_group '%s' not found", groupName))
|
||||
return nil, errors
|
||||
}
|
||||
|
||||
h.lastGroupName = groupName
|
||||
|
||||
now := time.Now()
|
||||
component := &domain.CostComponent{
|
||||
Name: &name,
|
||||
Code: &code,
|
||||
Inc: &inc,
|
||||
Value: &value,
|
||||
CostComponentGroupID: &group.ID,
|
||||
MerchantID: h.UserData.MerchantID,
|
||||
CreatedBy: &h.UserData.ID,
|
||||
CreatedOn: &now,
|
||||
UpdatedBy: &h.UserData.ID,
|
||||
UpdatedOn: &now,
|
||||
}
|
||||
|
||||
return component, nil
|
||||
}
|
||||
|
||||
func (h *CostComponentImportHandler) GetDataString(data importer.RowData) string {
|
||||
component := data.(*domain.CostComponent)
|
||||
name := ""
|
||||
if component.Name != nil {
|
||||
name = *component.Name
|
||||
}
|
||||
code := ""
|
||||
if component.Code != nil {
|
||||
code = *component.Code
|
||||
}
|
||||
return fmt.Sprintf("%s, %s, %s", name, code, h.lastGroupName)
|
||||
}
|
||||
|
||||
func (h *CostComponentImportHandler) IsDuplicate(db *gorm.DB, data importer.RowData) bool {
|
||||
component := data.(*domain.CostComponent)
|
||||
var count int64
|
||||
db.Model(&domain.CostComponent{}).
|
||||
Joins("JOIN cost_component_group ON cost_component.cost_component_group_id = cost_component_group.id").
|
||||
Where("UPPER(cost_component.name) = ? AND UPPER(cost_component.code) = ? AND UPPER(cost_component_group.name) = ?",
|
||||
strings.ToUpper(*component.Name), strings.ToUpper(*component.Code), strings.ToUpper(h.lastGroupName)).
|
||||
Count(&count)
|
||||
return count > 0
|
||||
}
|
||||
|
||||
func (h *CostComponentImportHandler) GetTemplateHeaders() []string {
|
||||
return []string{"name", "code", "inc", "value", "cost_component_group_name"}
|
||||
}
|
||||
|
||||
func (h *CostComponentImportHandler) GetTemplateRows() [][]string {
|
||||
return [][]string{
|
||||
{"Component A", "CA", "1", "10000", "Group 1"},
|
||||
{"Component B", "CB", "2", "20000", "Group 2"},
|
||||
{"Component C", "CC", "3", "30000", "Group 1"},
|
||||
}
|
||||
}
|
||||
118
internal/importers/cost_component_group/importer.go
Normal file
118
internal/importers/cost_component_group/importer.go
Normal file
@ -0,0 +1,118 @@
|
||||
package cost_component_group
|
||||
|
||||
import (
|
||||
"cargo-erp-backend/internal/domain"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"cargo-erp-backend/pkg/importer"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/oklog/ulid/v2"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type CostComponentGroupImportHandler struct {
|
||||
UserData domain.User
|
||||
Helper helpers.HelperInterface
|
||||
}
|
||||
|
||||
func NewCostComponentGroupImportHandler(userData domain.User, helper helpers.HelperInterface) importer.ImportHandler {
|
||||
return &CostComponentGroupImportHandler{
|
||||
UserData: userData,
|
||||
Helper: helper,
|
||||
}
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupImportHandler) ValidateRow(row []string, rowNumber int) (importer.RowData, []error) {
|
||||
var errors []error
|
||||
|
||||
if len(row) < 4 {
|
||||
errors = append(errors, fmt.Errorf("row must have 4 columns: name, code, inc, value"))
|
||||
return nil, errors
|
||||
}
|
||||
|
||||
name := strings.TrimSpace(row[0])
|
||||
if name == "" {
|
||||
errors = append(errors, fmt.Errorf("name is required"))
|
||||
} else if len(name) < 2 {
|
||||
errors = append(errors, fmt.Errorf("name must be at least 2 characters"))
|
||||
} else if len(name) > 255 {
|
||||
errors = append(errors, fmt.Errorf("name must be at most 255 characters"))
|
||||
}
|
||||
|
||||
code := strings.TrimSpace(row[1])
|
||||
if code == "" {
|
||||
errors = append(errors, fmt.Errorf("code is required"))
|
||||
}
|
||||
|
||||
incStr := strings.TrimSpace(row[2])
|
||||
var inc int32
|
||||
if incStr != "" {
|
||||
parsed, err := strconv.ParseInt(incStr, 10, 32)
|
||||
if err != nil {
|
||||
errors = append(errors, fmt.Errorf("inc must be a valid integer"))
|
||||
} else {
|
||||
inc = int32(parsed)
|
||||
}
|
||||
}
|
||||
|
||||
value := strings.TrimSpace(row[3])
|
||||
|
||||
if len(errors) > 0 {
|
||||
return nil, errors
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
id := ulid.Make().String()
|
||||
group := &domain.CostComponentGroup{
|
||||
ID: id,
|
||||
Name: &name,
|
||||
Code: &code,
|
||||
Inc: &inc,
|
||||
Value: &value,
|
||||
MerchantID: h.UserData.MerchantID,
|
||||
CreatedBy: &h.UserData.ID,
|
||||
CreatedOn: &now,
|
||||
UpdatedBy: &h.UserData.ID,
|
||||
UpdatedOn: &now,
|
||||
}
|
||||
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupImportHandler) GetDataString(data importer.RowData) string {
|
||||
group := data.(*domain.CostComponentGroup)
|
||||
name := ""
|
||||
if group.Name != nil {
|
||||
name = *group.Name
|
||||
}
|
||||
code := ""
|
||||
if group.Code != nil {
|
||||
code = *group.Code
|
||||
}
|
||||
return fmt.Sprintf("%s, %s", name, code)
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupImportHandler) IsDuplicate(db *gorm.DB, data importer.RowData) bool {
|
||||
group := data.(*domain.CostComponentGroup)
|
||||
var count int64
|
||||
db.Model(&domain.CostComponentGroup{}).
|
||||
Where("UPPER(name) = ? AND UPPER(code) = ?",
|
||||
strings.ToUpper(*group.Name), strings.ToUpper(*group.Code)).
|
||||
Count(&count)
|
||||
return count > 0
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupImportHandler) GetTemplateHeaders() []string {
|
||||
return []string{"name", "code", "inc", "value"}
|
||||
}
|
||||
|
||||
func (h *CostComponentGroupImportHandler) GetTemplateRows() [][]string {
|
||||
return [][]string{
|
||||
{"Component A", "CA", "1", "10000"},
|
||||
{"Component B", "CB", "2", "20000"},
|
||||
{"Component C", "CC", "3", "30000"},
|
||||
}
|
||||
}
|
||||
167
internal/usecases/cost_component.go
Normal file
167
internal/usecases/cost_component.go
Normal file
@ -0,0 +1,167 @@
|
||||
package usecases
|
||||
|
||||
import (
|
||||
"cargo-erp-backend/internal/domain"
|
||||
"cargo-erp-backend/internal/handlers/dto"
|
||||
"cargo-erp-backend/pkg/datatable"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"time"
|
||||
)
|
||||
|
||||
type CostComponentUsecaseInterface interface {
|
||||
GetAll(filter dto.CostComponentFilterAllRequest) ([]domain.CostComponent, int64, error)
|
||||
GetList(dto.DataTableRequest) (dto.DataTableResponse, error)
|
||||
GetByID(id string) (domain.CostComponent, error)
|
||||
Create(name string, code string, inc int32, value string, costComponentGroupID string, createdBy string, merchantid *string) (domain.CostComponent, error)
|
||||
Update(id string, name string, code string, inc int32, value string, costComponentGroupID string, updatedBy string) (domain.CostComponent, error)
|
||||
Delete(id string) error
|
||||
}
|
||||
|
||||
type CostComponentUsecase struct {
|
||||
Helper helpers.HelperInterface
|
||||
AuthUser domain.User
|
||||
}
|
||||
|
||||
func NewCostComponentUsecase(helper helpers.HelperInterface, authUser domain.User) CostComponentUsecaseInterface {
|
||||
return &CostComponentUsecase{Helper: helper, AuthUser: authUser}
|
||||
}
|
||||
|
||||
func (u *CostComponentUsecase) GetAll(filter dto.CostComponentFilterAllRequest) ([]domain.CostComponent, int64, error) {
|
||||
var components []domain.CostComponent
|
||||
var total int64
|
||||
|
||||
db := u.Helper.GetDB("slave")
|
||||
tx := db.Model(&components)
|
||||
if u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
|
||||
tx.Where(db.Where("merchant_id IS NULL").Or("merchant_id=?", u.AuthUser.MerchantID))
|
||||
}
|
||||
v := reflect.ValueOf(filter)
|
||||
t := reflect.TypeOf(filter)
|
||||
|
||||
for i := 0; i < v.NumField(); i++ {
|
||||
if v.Field(i).String() != "" {
|
||||
tagKey := t.Field(i).Tag.Get("form")
|
||||
tx.Where(fmt.Sprintf("%v=?", tagKey), v.Field(i))
|
||||
}
|
||||
}
|
||||
tx.Model(&domain.CostComponent{}).Count(&total)
|
||||
tx.Order("name ASC")
|
||||
if err := tx.Find(&components).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return components, total, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentUsecase) GetList(req dto.DataTableRequest) (dto.DataTableResponse, error) {
|
||||
var response dto.DataTableResponse
|
||||
db := u.Helper.GetDB("slave")
|
||||
tx := db.Table("cost_component").
|
||||
Joins("LEFT JOIN cost_component_group ON cost_component.cost_component_group_id=cost_component_group.id").
|
||||
Joins("LEFT JOIN merchant ON cost_component.merchant_id=merchant.id")
|
||||
dt := datatable.NewDatatable(tx, req)
|
||||
coldef := make([]dto.DataTableColDef, 0)
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component.name",
|
||||
Alias: "name",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component.code",
|
||||
Alias: "code",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component.inc",
|
||||
Alias: "inc",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component.value",
|
||||
Alias: "value",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component_group.name",
|
||||
Alias: "cost_component_group_name",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component.cost_component_group_id",
|
||||
Alias: "cost_component_group_id",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "merchant.id",
|
||||
Alias: "merchant_id",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component.id",
|
||||
Alias: "id",
|
||||
})
|
||||
|
||||
response = dt.Render(coldef)
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentUsecase) GetByID(id string) (domain.CostComponent, error) {
|
||||
var component domain.CostComponent
|
||||
db := u.Helper.GetDB("slave")
|
||||
if err := db.Where("id = ?", id).First(&component).Error; err != nil {
|
||||
return domain.CostComponent{}, err
|
||||
}
|
||||
return component, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentUsecase) Create(name string, code string, inc int32, value string, costComponentGroupID string, createdBy string, merchantid *string) (domain.CostComponent, error) {
|
||||
now := time.Now()
|
||||
component := domain.CostComponent{
|
||||
Name: &name,
|
||||
Code: &code,
|
||||
Inc: &inc,
|
||||
Value: &value,
|
||||
CostComponentGroupID: &costComponentGroupID,
|
||||
MerchantID: merchantid,
|
||||
CreatedBy: &createdBy,
|
||||
CreatedOn: &now,
|
||||
UpdatedBy: &createdBy,
|
||||
UpdatedOn: &now,
|
||||
}
|
||||
|
||||
db := u.Helper.GetDB("master")
|
||||
if err := db.Create(&component).Error; err != nil {
|
||||
return domain.CostComponent{}, err
|
||||
}
|
||||
return component, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentUsecase) Update(id string, name string, code string, inc int32, value string, costComponentGroupID string, updatedBy string) (domain.CostComponent, error) {
|
||||
var component domain.CostComponent
|
||||
db := u.Helper.GetDB("master")
|
||||
if u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
|
||||
db.Where("merchant_id=?", u.AuthUser.MerchantID)
|
||||
}
|
||||
if err := db.Where("id = ?", id).First(&component).Error; err != nil {
|
||||
return domain.CostComponent{}, err
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
component.Name = &name
|
||||
component.Code = &code
|
||||
component.Inc = &inc
|
||||
component.Value = &value
|
||||
component.CostComponentGroupID = &costComponentGroupID
|
||||
component.UpdatedBy = &updatedBy
|
||||
component.UpdatedOn = &now
|
||||
|
||||
if err := db.Save(&component).Error; err != nil {
|
||||
return domain.CostComponent{}, err
|
||||
}
|
||||
return component, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentUsecase) Delete(id string) error {
|
||||
db := u.Helper.GetDB("master")
|
||||
if u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
|
||||
db.Where("merchant_id=?", u.AuthUser.MerchantID)
|
||||
}
|
||||
if err := db.Delete(&domain.CostComponent{}, "id = ?", id).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
160
internal/usecases/cost_component_group.go
Normal file
160
internal/usecases/cost_component_group.go
Normal file
@ -0,0 +1,160 @@
|
||||
package usecases
|
||||
|
||||
import (
|
||||
"cargo-erp-backend/internal/domain"
|
||||
"cargo-erp-backend/internal/handlers/dto"
|
||||
"cargo-erp-backend/pkg/datatable"
|
||||
"cargo-erp-backend/pkg/helpers"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"time"
|
||||
|
||||
"github.com/oklog/ulid/v2"
|
||||
)
|
||||
|
||||
type CostComponentGroupUsecaseInterface interface {
|
||||
GetAll(filter dto.CostComponentGroupFilterAllRequest) ([]domain.CostComponentGroup, int64, error)
|
||||
GetList(dto.DataTableRequest) (dto.DataTableResponse, error)
|
||||
GetByID(id string) (domain.CostComponentGroup, error)
|
||||
Create(name string, code string, inc int32, value string, createdBy string, merchantid *string) (domain.CostComponentGroup, error)
|
||||
Update(id string, name string, code string, inc int32, value string, updatedBy string) (domain.CostComponentGroup, error)
|
||||
Delete(id string) error
|
||||
}
|
||||
|
||||
type CostComponentGroupUsecase struct {
|
||||
Helper helpers.HelperInterface
|
||||
AuthUser domain.User
|
||||
}
|
||||
|
||||
func NewCostComponentGroupUsecase(helper helpers.HelperInterface, authUser domain.User) CostComponentGroupUsecaseInterface {
|
||||
return &CostComponentGroupUsecase{Helper: helper, AuthUser: authUser}
|
||||
}
|
||||
|
||||
func (u *CostComponentGroupUsecase) GetAll(filter dto.CostComponentGroupFilterAllRequest) ([]domain.CostComponentGroup, int64, error) {
|
||||
var groups []domain.CostComponentGroup
|
||||
var total int64
|
||||
|
||||
db := u.Helper.GetDB("slave")
|
||||
tx := db.Model(&groups)
|
||||
if u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
|
||||
tx.Where(db.Where("merchant_id IS NULL").Or("merchant_id=?", u.AuthUser.MerchantID))
|
||||
}
|
||||
v := reflect.ValueOf(filter)
|
||||
t := reflect.TypeOf(filter)
|
||||
|
||||
for i := 0; i < v.NumField(); i++ {
|
||||
if v.Field(i).String() != "" {
|
||||
tagKey := t.Field(i).Tag.Get("form")
|
||||
tx.Where(fmt.Sprintf("%v=?", tagKey), v.Field(i))
|
||||
}
|
||||
}
|
||||
tx.Model(&domain.CostComponentGroup{}).Count(&total)
|
||||
tx.Order("name ASC")
|
||||
if err := tx.Find(&groups).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return groups, total, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentGroupUsecase) GetList(req dto.DataTableRequest) (dto.DataTableResponse, error) {
|
||||
var response dto.DataTableResponse
|
||||
db := u.Helper.GetDB("slave")
|
||||
tx := db.Table("cost_component_group").
|
||||
Joins("LEFT JOIN merchant ON cost_component_group.merchant_id=merchant.id")
|
||||
dt := datatable.NewDatatable(tx, req)
|
||||
coldef := make([]dto.DataTableColDef, 0)
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component_group.name",
|
||||
Alias: "name",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component_group.code",
|
||||
Alias: "code",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component_group.inc",
|
||||
Alias: "inc",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component_group.value",
|
||||
Alias: "value",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "merchant.id",
|
||||
Alias: "merchant_id",
|
||||
})
|
||||
coldef = append(coldef, dto.DataTableColDef{
|
||||
Field: "cost_component_group.id",
|
||||
Alias: "id",
|
||||
})
|
||||
|
||||
response = dt.Render(coldef)
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentGroupUsecase) GetByID(id string) (domain.CostComponentGroup, error) {
|
||||
var group domain.CostComponentGroup
|
||||
db := u.Helper.GetDB("slave")
|
||||
if err := db.Where("id = ?", id).First(&group).Error; err != nil {
|
||||
return domain.CostComponentGroup{}, err
|
||||
}
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentGroupUsecase) Create(name string, code string, inc int32, value string, createdBy string, merchantid *string) (domain.CostComponentGroup, error) {
|
||||
now := time.Now()
|
||||
id := ulid.Make().String()
|
||||
group := domain.CostComponentGroup{
|
||||
ID: id,
|
||||
Name: &name,
|
||||
Code: &code,
|
||||
Inc: &inc,
|
||||
Value: &value,
|
||||
MerchantID: merchantid,
|
||||
CreatedBy: &createdBy,
|
||||
CreatedOn: &now,
|
||||
UpdatedBy: &createdBy,
|
||||
UpdatedOn: &now,
|
||||
}
|
||||
|
||||
db := u.Helper.GetDB("master")
|
||||
if err := db.Create(&group).Error; err != nil {
|
||||
return domain.CostComponentGroup{}, err
|
||||
}
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentGroupUsecase) Update(id string, name string, code string, inc int32, value string, updatedBy string) (domain.CostComponentGroup, error) {
|
||||
var group domain.CostComponentGroup
|
||||
db := u.Helper.GetDB("master")
|
||||
if u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
|
||||
db.Where("merchant_id=?", u.AuthUser.MerchantID)
|
||||
}
|
||||
if err := db.Where("id = ?", id).First(&group).Error; err != nil {
|
||||
return domain.CostComponentGroup{}, err
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
group.Name = &name
|
||||
group.Code = &code
|
||||
group.Inc = &inc
|
||||
group.Value = &value
|
||||
group.UpdatedBy = &updatedBy
|
||||
group.UpdatedOn = &now
|
||||
|
||||
if err := db.Save(&group).Error; err != nil {
|
||||
return domain.CostComponentGroup{}, err
|
||||
}
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (u *CostComponentGroupUsecase) Delete(id string) error {
|
||||
db := u.Helper.GetDB("master")
|
||||
if u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
|
||||
db.Where("merchant_id=?", u.AuthUser.MerchantID)
|
||||
}
|
||||
if err := db.Delete(&domain.CostComponentGroup{}, "id = ?", id).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -923,3 +923,31 @@
|
||||
{"level":"info","ts":"2026-08-18T20:37:45.299+0700","caller":"middleware/auth.go:62","msg":"session_login : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIxOWZmMTA0YzE2NTIyYTIyNTJjYmFjYTI0ZCIsImlzcyI6ImNhcmdvLXBsYXRmb3JtIiwic3ViIjoiMTlmZjEwNGMxNjUyMmEyMjUyY2JhY2EyNGQiLCJleHAiOjE3ODcwNjI5NjYsImlhdCI6MTc4NzA1OTM2Nn0.xctXhU-k0oCqTfjGVUPaCuS0hdyK542X96Za0_Fw4LM"}
|
||||
{"level":"info","ts":"2026-08-18T20:37:45.397+0700","caller":"middleware/auth.go:90","msg":"Set Auth : {\"blocked\":false,\"blocked_notes\":null,\"citys_relation\":null,\"created_by\":null,\"created_on\":\"2026-08-11T20:30:48.554654Z\",\"districts_relation\":null,\"email\":\"gcx@gmail.com\",\"id\":\"19ff104c16522a2252cbaca24d\",\"is_active\":true,\"merchant_id\":\"19ff111bca6c2c382d9eb43b3c\",\"merchant_relation\":null,\"merchants_relation\":null,\"nick_name\":\"Administrator\",\"postal_codes_relation\":null,\"provinces_relation\":null,\"subdistricts_relation\":null,\"updated_by\":null,\"updated_on\":\"2026-08-11T20:30:48.554654Z\",\"users_role_id\":\"19fe814c5350d67814c3e6057c\",\"users_role_relation\":{\"created_by\":null,\"created_on\":\"2026-08-10T02:51:43.16495Z\",\"id\":\"19fe814c5350d67814c3e6057c\",\"merchant_id\":null,\"merchant_relation\":{\"active\":null,\"additional_information\":null,\"address\":null,\"city_id\":null,\"city_relation\":null,\"citys_relation\":null,\"created_by\":null,\"created_by_relation\":null,\"created_on\":null,\"district_id\":null,\"district_relation\":null,\"districts_relation\":null,\"email\":null,\"id\":\"\",\"modas_relation\":null,\"name\":null,\"package_types_relation\":null,\"postal_code\":null,\"postal_codes_relation\":null,\"province_id\":null,\"province_relation\":null,\"provinces_relation\":null,\"subdistrict_id\":null,\"subdistrict_relation\":null,\"subdistricts_relation\":null,\"telp\":null,\"updated_by\":null,\"updated_on\":null,\"users_roless_relation\":null,\"userss_relation\":null},\"name\":\"Administrator\",\"role_key\":\"ADM_MERCHANT\",\"updated_by\":null,\"updated_on\":\"2026-08-10T02:51:43.16495Z\",\"userss_relation\":null}}"}
|
||||
{"level":"info","ts":"2026-08-18T20:37:45.428+0700","caller":"handlers/handlers.go:68","msg":"Request Success","status":200,"method":"GET","path":"/master-data/districts/template","query":"","ip":"127.0.0.1","latency":0.137240458,"user-agent":"Apidog/1.0.0 (https://apidog.com)"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:11.029+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:11.494+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:11.495+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:11.856+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:00.954+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:01.411+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:01.412+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:01.838+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
{"level":"info","ts":"2026-08-22T10:47:38.283+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:47:38.714+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T10:47:38.714+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:47:39.059+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
{"level":"info","ts":"2026-08-22T10:48:24.393+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:48:24.846+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T10:48:24.846+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:48:25.225+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
{"level":"info","ts":"2026-08-22T10:55:35.387+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:55:35.751+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T10:55:35.752+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T10:55:36.142+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:22.320+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:22.726+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:22.727+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:23.109+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:37.470+0700","caller":"database/database.go:53","msg":"Connect To Master DB"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:37.901+0700","caller":"database/database.go:63","msg":"DB Master Connected"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:37.901+0700","caller":"database/database.go:76","msg":"Connect To Slave DB"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:38.241+0700","caller":"database/database.go:86","msg":"DB Connection Done"}
|
||||
|
||||
@ -3587,3 +3587,382 @@
|
||||
{"level":"info","ts":"2026-08-18T20:36:09.759+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/pkg/datatable/datatable.go:30","elapsed":0.4042015,"rows":1,"sql":"SELECT count(*) FROM \"district\" LEFT JOIN city ON district.city_id=city.id LEFT JOIN province ON district.province_id=province.id LEFT JOIN merchant ON district.merchant_id=merchant.id"}
|
||||
{"level":"info","ts":"2026-08-18T20:36:09.792+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/pkg/datatable/datatable.go:81","elapsed":0.032117583,"rows":1,"sql":"SELECT count(*) FROM \"district\" LEFT JOIN city ON district.city_id=city.id LEFT JOIN province ON district.province_id=province.id LEFT JOIN merchant ON district.merchant_id=merchant.id"}
|
||||
{"level":"info","ts":"2026-08-18T20:36:09.856+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/pkg/datatable/datatable.go:89","elapsed":0.064178167,"rows":10,"sql":"SELECT district.name AS name,city.name AS city_name,province.name AS province_name,district.province_id AS province_id,district.city_id AS city_id,merchant.id AS merchant_id,district.id AS id FROM \"district\" LEFT JOIN city ON district.city_id=city.id LEFT JOIN province ON district.province_id=province.id LEFT JOIN merchant ON district.merchant_id=merchant.id ORDER BY district.name ASC LIMIT 10"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.289+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.131466458,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.405+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.11545925,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.482+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.076536625,"rows":-1,"sql":"SELECT * FROM \"postal_code\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.590+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.107545667,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'postal_code' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.690+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.099678667,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.787+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.097396416,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.909+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.121695334,"rows":6,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'postal_code'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.912+0700","caller":"logger/database.go:40","msg":"got 11 columns from table <postal_code>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:12.965+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.053096458,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.013+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046941791,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.062+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049435666,"rows":-1,"sql":"SELECT * FROM \"users_roles\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.135+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.072421459,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_roles' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.206+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.07141725,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.250+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.04387875,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.305+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054835542,"rows":0,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users_roles'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.307+0700","caller":"logger/database.go:40","msg":"got 8 columns from table <users_roles>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.368+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.061094459,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.443+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.075340959,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.491+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047448167,"rows":-1,"sql":"SELECT * FROM \"package_type\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.557+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.065885458,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'package_type' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.602+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043905709,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.653+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.050967542,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.703+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049944541,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'package_type'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.705+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <package_type>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.754+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048941917,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.819+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.064120375,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.868+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048347417,"rows":-1,"sql":"SELECT * FROM \"users_\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.927+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058862625,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:13.974+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046482042,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.021+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047324625,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.082+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.060131,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users_'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.093+0700","caller":"logger/database.go:40","msg":"got 9 columns from table <users_>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.153+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059611458,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.228+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.074657375,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.291+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.062313458,"rows":-1,"sql":"SELECT * FROM \"users\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.354+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.063245583,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.398+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043303041,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.460+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.061959125,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.542+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.081799375,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.545+0700","caller":"logger/database.go:40","msg":"got 13 columns from table <users>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.585+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.038029875,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.643+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058097042,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.690+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046542542,"rows":-1,"sql":"SELECT * FROM \"merchant\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.760+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.068796917,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'merchant' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.808+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047534375,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.863+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054392833,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.938+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.071571042,"rows":10,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'merchant'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.942+0700","caller":"logger/database.go:40","msg":"got 16 columns from table <merchant>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:14.987+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044326,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.038+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.051361583,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.091+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.052081459,"rows":-1,"sql":"SELECT * FROM \"moda\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.155+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.063301375,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'moda' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.204+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0447865,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.273+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.068811375,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.328+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054517167,"rows":3,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'moda'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.336+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <moda>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.384+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046499959,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.444+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.060032583,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.500+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055037834,"rows":-1,"sql":"SELECT * FROM \"province\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.592+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.091480625,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'province' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.648+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.056497416,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.690+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.041203166,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.759+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.06916575,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'province'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.760+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <province>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.809+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048932083,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.854+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.04515775,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.912+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.057289292,"rows":-1,"sql":"SELECT * FROM \"city\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:15.979+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.066737708,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'city' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.028+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049109334,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.070+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.041929708,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.129+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059008542,"rows":3,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'city'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.130+0700","caller":"logger/database.go:40","msg":"got 8 columns from table <city>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.175+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044854416,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.234+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058427833,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.294+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0599875,"rows":-1,"sql":"SELECT * FROM \"subdistrict\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.354+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059277708,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'subdistrict' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.391+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.036948791,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.431+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.040285375,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.470+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.038604625,"rows":5,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'subdistrict'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.472+0700","caller":"logger/database.go:40","msg":"got 10 columns from table <subdistrict>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.537+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.064844958,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.588+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.050759417,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.631+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.04321875,"rows":-1,"sql":"SELECT * FROM \"cost_component\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.694+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.062694667,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.743+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048545,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.791+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.04769775,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.857+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.065435709,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'cost_component'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.859+0700","caller":"logger/database.go:40","msg":"got 11 columns from table <cost_component>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.904+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044150417,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:16.967+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.063464125,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.043+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.075472584,"rows":-1,"sql":"SELECT * FROM \"district\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.114+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.07086225,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'district' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.170+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055642,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.219+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048993708,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.287+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.067799416,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'district'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.288+0700","caller":"logger/database.go:40","msg":"got 9 columns from table <district>"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.288+0700","caller":"logger/database.go:40","msg":"Start generating code."}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <users_roles> -> {domain.UsersRole}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users_roles.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <users_> -> {domain.Users}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users_.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <city> -> {domain.City}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/city.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <package_type> -> {domain.PackageType}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/package_type.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <users> -> {domain.User}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <cost_component> -> {domain.CostComponent}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/cost_component.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <district> -> {domain.District}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/district.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.328+0700","caller":"logger/database.go:40","msg":"generate model file(table <postal_code> -> {domain.PostalCode}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/postal_code.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.338+0700","caller":"logger/database.go:40","msg":"generate model file(table <subdistrict> -> {domain.Subdistrict}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/subdistrict.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.338+0700","caller":"logger/database.go:40","msg":"generate model file(table <province> -> {domain.Province}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/province.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.338+0700","caller":"logger/database.go:40","msg":"generate model file(table <merchant> -> {domain.Merchant}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/merchant.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.338+0700","caller":"logger/database.go:40","msg":"generate model file(table <moda> -> {domain.Moda}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/moda.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.382+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/postal_code.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.383+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users_roles.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.383+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/moda.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.387+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/city.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.388+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/province.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.390+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/cost_component.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.390+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/district.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.390+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/package_type.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.397+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.397+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users_.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.399+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/subdistrict.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.400+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/merchant.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.412+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:42:17.412+0700","caller":"logger/database.go:40","msg":"Generate code done."}
|
||||
{"level":"info","ts":"2026-08-22T10:44:02.393+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.147436834,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:02.516+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.122230208,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:02.563+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046737291,"rows":-1,"sql":"SELECT * FROM \"postal_code\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:02.674+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.110786583,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'postal_code' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:02.819+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.143745917,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:02.952+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.13206925,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.066+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.114301875,"rows":6,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'postal_code'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.067+0700","caller":"logger/database.go:40","msg":"got 11 columns from table <postal_code>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.122+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.053907458,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.196+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.07384925,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.253+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.056981709,"rows":-1,"sql":"SELECT * FROM \"users_roles\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.328+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.074168375,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_roles' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.389+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.060523416,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.443+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.053300291,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.489+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046237125,"rows":0,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users_roles'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.493+0700","caller":"logger/database.go:40","msg":"got 8 columns from table <users_roles>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.541+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047566084,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.602+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.060989917,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.651+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048833833,"rows":-1,"sql":"SELECT * FROM \"package_type\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.727+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.07592675,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'package_type' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.764+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.036162,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.808+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043613292,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.845+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.03693225,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'package_type'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.847+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <package_type>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.888+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.039418917,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:03.945+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0573375,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.011+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.064469,"rows":-1,"sql":"SELECT * FROM \"users_\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.080+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.069307417,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.128+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047171709,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.165+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.037006875,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.213+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047612,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users_'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.217+0700","caller":"logger/database.go:40","msg":"got 9 columns from table <users_>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.277+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059710458,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.323+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.045470584,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.378+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054038625,"rows":-1,"sql":"SELECT * FROM \"users\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.448+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.069456541,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.501+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.053629417,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.551+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049650125,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.614+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.062399291,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.616+0700","caller":"logger/database.go:40","msg":"got 13 columns from table <users>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.687+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.07167525,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.735+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.04770075,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.791+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055245958,"rows":-1,"sql":"SELECT * FROM \"merchant\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.847+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055588291,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'merchant' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.906+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058637541,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:04.951+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.045278542,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.012+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.060251666,"rows":10,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'merchant'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.016+0700","caller":"logger/database.go:40","msg":"got 16 columns from table <merchant>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.060+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043366333,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.122+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.062291417,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.192+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.069203125,"rows":-1,"sql":"SELECT * FROM \"moda\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.276+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.083827917,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'moda' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.328+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.051666792,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.368+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.039679417,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.434+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.066077208,"rows":3,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'moda'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.437+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <moda>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.509+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.071085792,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.570+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.06061075,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.623+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.052888458,"rows":-1,"sql":"SELECT * FROM \"province\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.679+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055626167,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'province' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.739+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059031917,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.810+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.070279,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.865+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054572625,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'province'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.866+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <province>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.913+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046999042,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:05.968+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054506708,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.003+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.035312125,"rows":-1,"sql":"SELECT * FROM \"city\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.049+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.045856875,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'city' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.106+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.056145291,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.153+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046878917,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.219+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.062261792,"rows":3,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'city'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.234+0700","caller":"logger/database.go:40","msg":"got 8 columns from table <city>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.290+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0554465,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.349+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058275167,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.393+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044349625,"rows":-1,"sql":"SELECT * FROM \"subdistrict\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.456+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.062130167,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'subdistrict' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.503+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047647208,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.552+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048215,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.619+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.06644275,"rows":5,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'subdistrict'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.620+0700","caller":"logger/database.go:40","msg":"got 10 columns from table <subdistrict>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.663+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043113416,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.712+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048554792,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.786+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.073692333,"rows":-1,"sql":"SELECT * FROM \"cost_component\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.867+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.080644,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:06.945+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.077652459,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.022+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.076933875,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.065+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.042764875,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'cost_component'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.067+0700","caller":"logger/database.go:40","msg":"got 11 columns from table <cost_component>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.115+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047127084,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.177+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.061287667,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.237+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059917417,"rows":-1,"sql":"SELECT * FROM \"district\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.286+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048919709,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'district' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.330+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.042706625,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.398+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.067402208,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.453+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.05486275,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'district'\n"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.455+0700","caller":"logger/database.go:40","msg":"got 9 columns from table <district>"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.456+0700","caller":"logger/database.go:40","msg":"Start generating code."}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.485+0700","caller":"logger/database.go:40","msg":"generate model file(table <users> -> {domain.User}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.485+0700","caller":"logger/database.go:40","msg":"generate model file(table <city> -> {domain.City}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/city.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.490+0700","caller":"logger/database.go:40","msg":"generate model file(table <province> -> {domain.Province}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/province.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.491+0700","caller":"logger/database.go:40","msg":"generate model file(table <cost_component> -> {domain.CostComponent}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/cost_component.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.491+0700","caller":"logger/database.go:40","msg":"generate model file(table <subdistrict> -> {domain.Subdistrict}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/subdistrict.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.491+0700","caller":"logger/database.go:40","msg":"generate model file(table <merchant> -> {domain.Merchant}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/merchant.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.494+0700","caller":"logger/database.go:40","msg":"generate model file(table <package_type> -> {domain.PackageType}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/package_type.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.496+0700","caller":"logger/database.go:40","msg":"generate model file(table <postal_code> -> {domain.PostalCode}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/postal_code.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.503+0700","caller":"logger/database.go:40","msg":"generate model file(table <users_> -> {domain.Users}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users_.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.503+0700","caller":"logger/database.go:40","msg":"generate model file(table <users_roles> -> {domain.UsersRole}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users_roles.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.503+0700","caller":"logger/database.go:40","msg":"generate model file(table <moda> -> {domain.Moda}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/moda.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.505+0700","caller":"logger/database.go:40","msg":"generate model file(table <district> -> {domain.District}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/district.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.574+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users_roles.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.575+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/package_type.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.575+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/moda.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.578+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users_.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.580+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/province.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.580+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/city.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.581+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.584+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/merchant.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.588+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/cost_component.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.589+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/district.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.589+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/subdistrict.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.591+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/postal_code.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.600+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T10:44:07.600+0700","caller":"logger/database.go:40","msg":"Generate code done."}
|
||||
{"level":"info","ts":"2026-08-22T11:07:38.674+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.104392417,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:38.782+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.106339083,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:38.837+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054324875,"rows":-1,"sql":"SELECT * FROM \"postal_code\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:38.970+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.131676375,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'postal_code' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.080+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.109503459,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.204+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.123495459,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'postal_code'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.325+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.12038975,"rows":6,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'postal_code'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.328+0700","caller":"logger/database.go:40","msg":"got 11 columns from table <postal_code>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.365+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.035523166,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.421+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055711292,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.473+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.051499791,"rows":-1,"sql":"SELECT * FROM \"users_roles\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.526+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.051919959,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_roles' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.589+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.063024208,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.633+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044005708,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users_roles'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.692+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.057706417,"rows":0,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users_roles'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.704+0700","caller":"logger/database.go:40","msg":"got 8 columns from table <users_roles>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.761+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055526875,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.827+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.066379791,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'cost_component_group'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.883+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055718375,"rows":-1,"sql":"SELECT * FROM \"cost_component_group\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.930+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047053125,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component_group' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:39.980+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049988208,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component_group'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.031+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049925125,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'cost_component_group'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.094+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.063270084,"rows":0,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'cost_component_group'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.097+0700","caller":"logger/database.go:40","msg":"got 10 columns from table <cost_component_group>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.131+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.032726583,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.188+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.05659875,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.233+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044394417,"rows":-1,"sql":"SELECT * FROM \"package_type\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.315+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0817375,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'package_type' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.365+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049753791,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.416+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.050424292,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'package_type'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.453+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.03680625,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'package_type'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.455+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <package_type>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.493+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.038129792,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.547+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.052920084,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.609+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.061442959,"rows":-1,"sql":"SELECT * FROM \"users_\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.674+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.064485833,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.721+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046413583,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.774+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.053541708,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users_'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.833+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058369209,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users_'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.837+0700","caller":"logger/database.go:40","msg":"got 9 columns from table <users_>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.884+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046400542,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.940+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055370042,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:40.981+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.040536708,"rows":-1,"sql":"SELECT * FROM \"users\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.051+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.069333125,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.099+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.047927125,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.166+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.066396334,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'users'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.205+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.038623459,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'users'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.209+0700","caller":"logger/database.go:40","msg":"got 13 columns from table <users>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.262+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.052268417,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.327+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.064396292,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.419+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046014375,"rows":-1,"sql":"SELECT * FROM \"merchant\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.459+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.039954792,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'merchant' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.501+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.041511166,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.554+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.053184667,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'merchant'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.609+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054446583,"rows":10,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'merchant'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.613+0700","caller":"logger/database.go:40","msg":"got 16 columns from table <merchant>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.775+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.160013334,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.844+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.068926208,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.899+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054914416,"rows":-1,"sql":"SELECT * FROM \"moda\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.939+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.03999075,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'moda' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:41.988+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.04886275,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.040+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.051329875,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'moda'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.086+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.046565833,"rows":3,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'moda'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.088+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <moda>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.139+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.050191667,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.196+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.05707875,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.246+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049340958,"rows":-1,"sql":"SELECT * FROM \"province\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.322+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.075480833,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'province' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.387+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.065338166,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.443+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055684125,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'province'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.496+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0519075,"rows":2,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'province'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.497+0700","caller":"logger/database.go:40","msg":"got 7 columns from table <province>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.540+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.042018625,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.573+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.032816,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.619+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.045717209,"rows":-1,"sql":"SELECT * FROM \"city\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.663+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043517417,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'city' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.730+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.066235416,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.779+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.049216958,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'city'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.812+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.032077583,"rows":3,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'city'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.814+0700","caller":"logger/database.go:40","msg":"got 8 columns from table <city>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.859+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044134834,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.908+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.048123209,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:42.963+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.055121625,"rows":-1,"sql":"SELECT * FROM \"subdistrict\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.019+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054940042,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'subdistrict' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.060+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.040661667,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.119+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.058550375,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'subdistrict'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.159+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.039882541,"rows":5,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'subdistrict'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.162+0700","caller":"logger/database.go:40","msg":"got 10 columns from table <subdistrict>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.199+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.036632791,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.243+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.044150875,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.281+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.036691291,"rows":-1,"sql":"SELECT * FROM \"cost_component\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.323+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.041822625,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.359+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.035911083,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.419+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.059761541,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'cost_component'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.463+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.043627625,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'cost_component'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.467+0700","caller":"logger/database.go:40","msg":"got 11 columns from table <cost_component>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.523+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.054757541,"rows":1,"sql":"SELECT CURRENT_DATABASE()"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.581+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.057987958,"rows":-1,"sql":"SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = 'cargo_erp' AND table_schema = CURRENT_SCHEMA() AND table_name = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.633+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.051363833,"rows":-1,"sql":"SELECT * FROM \"district\" LIMIT 5"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.691+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.05725075,"rows":-1,"sql":"SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'district' AND constraint_type = 'UNIQUE'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.741+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0502355,"rows":-1,"sql":"SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = 'cargo_erp' AND c.table_schema = CURRENT_SCHEMA() AND c.table_name = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.797+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.0557265,"rows":-1,"sql":"SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type\n\t\tFROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = CURRENT_SCHEMA())\n\t\tWHERE a.attnum > 0 -- hide internal columns\n\t\tAND NOT a.attisdropped -- hide deleted columns\n\t\tAND b.relname = 'district'"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.844+0700","caller":"logger/database.go:90","msg":"[GORM] query execution","line":"/Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/migrations/generatemodel.go:128","elapsed":0.045944458,"rows":4,"sql":"\nSELECT\n\tct.relname AS table_name,\n\tci.relname AS index_name,\n\ti.indisunique AS non_unique,\n\ti.indisprimary AS primary,\n\ta.attname AS column_name\nFROM\n\tpg_index i\n\tLEFT JOIN pg_class ct ON ct.oid = i.indrelid\n\tLEFT JOIN pg_class ci ON ci.oid = i.indexrelid\n\tLEFT JOIN pg_attribute a ON a.attrelid = ct.oid\n\tLEFT JOIN pg_constraint con ON con.conindid = i.indexrelid\nWHERE\n\ta.attnum = ANY(i.indkey)\n\tAND con.oid IS NULL\n\tAND ct.relkind = 'r'\n\tAND ct.relname = 'district'\n"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.846+0700","caller":"logger/database.go:40","msg":"got 9 columns from table <district>"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.846+0700","caller":"logger/database.go:40","msg":"Start generating code."}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.879+0700","caller":"logger/database.go:40","msg":"generate model file(table <postal_code> -> {domain.PostalCode}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/postal_code.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.879+0700","caller":"logger/database.go:40","msg":"generate model file(table <users> -> {domain.User}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.879+0700","caller":"logger/database.go:40","msg":"generate model file(table <district> -> {domain.District}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/district.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.879+0700","caller":"logger/database.go:40","msg":"generate model file(table <subdistrict> -> {domain.Subdistrict}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/subdistrict.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.881+0700","caller":"logger/database.go:40","msg":"generate model file(table <cost_component_group> -> {domain.CostComponentGroup}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/cost_component_group.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.881+0700","caller":"logger/database.go:40","msg":"generate model file(table <cost_component> -> {domain.CostComponent}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/cost_component.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.882+0700","caller":"logger/database.go:40","msg":"generate model file(table <city> -> {domain.City}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/city.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.883+0700","caller":"logger/database.go:40","msg":"generate model file(table <province> -> {domain.Province}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/province.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.892+0700","caller":"logger/database.go:40","msg":"generate model file(table <package_type> -> {domain.PackageType}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/package_type.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.892+0700","caller":"logger/database.go:40","msg":"generate model file(table <merchant> -> {domain.Merchant}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/merchant.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.892+0700","caller":"logger/database.go:40","msg":"generate model file(table <users_> -> {domain.Users}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users_.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.893+0700","caller":"logger/database.go:40","msg":"generate model file(table <users_roles> -> {domain.UsersRole}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/users_roles.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.893+0700","caller":"logger/database.go:40","msg":"generate model file(table <moda> -> {domain.Moda}): /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/moda.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.942+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users_.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.946+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/province.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.947+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/district.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.951+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/subdistrict.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.952+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/city.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.953+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/cost_component.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.953+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.953+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/users_roles.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.958+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/postal_code.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.959+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/cost_component_group.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.962+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/package_type.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.962+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/merchant.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.965+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/moda.gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.972+0700","caller":"logger/database.go:40","msg":"generate query file: /Users/teguh/Documents/project/cargo/cargo-erp-deploy/app/backend/cmd/api/internal/domain/query_utils/gen.go"}
|
||||
{"level":"info","ts":"2026-08-22T11:07:43.972+0700","caller":"logger/database.go:40","msg":"Generate code done."}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user