DB 시간포멧 수정. access log 추가

This commit is contained in:
Lectom C Han
2025-12-10 11:53:48 +09:00
parent c1af8f1b61
commit 02a9734961
5 changed files with 127 additions and 6 deletions

View File

@@ -49,6 +49,8 @@ var (
timeLayouts = []string{
"2006-01-02 15:04:05.000",
"2006-01-02 15:04:05",
time.RFC3339,
"2006-01-02T15:04:05.000Z07:00",
}
)
@@ -63,6 +65,10 @@ func EnsureUserProgramReplica(ctx context.Context, conn *pgx.Conn, csvPath, sche
logDir = "log"
}
if err := ensureSchema(ctx, conn, schema); err != nil {
return err
}
if err := createReplicaTable(ctx, conn, schema, ReplicaTable); err != nil {
return err
}
@@ -143,6 +149,14 @@ CREATE TABLE IF NOT EXISTS %s (
return err
}
func ensureSchema(ctx context.Context, conn *pgx.Conn, schema string) error {
if schema == "" {
return nil
}
_, err := conn.Exec(ctx, fmt.Sprintf(`CREATE SCHEMA IF NOT EXISTS %s`, pgx.Identifier{schema}.Sanitize()))
return err
}
type importResult struct {
rowsCopied int64
rowsUpserted int64

View File

@@ -69,11 +69,12 @@ func NewMySQLConfigFromEnv() (MySQLConfig, error) {
}
func NewPathsFromEnv() (Paths, error) {
schema := env("USER_PROGRAM_INFO_SCHEMA", env("POSTGRES_SCHEMA", DefaultSchema))
paths := Paths{
UpdateDir: env("USER_PROGRAM_UPDATE_DIR", DefaultUpdateDir),
LogDir: env("USER_PROGRAM_IMPORT_LOG_DIR", DefaultLogDir),
InitialCSV: env("USER_PROGRAM_INFO_CSV", DefaultInitialCSV),
Schema: env("USER_PROGRAM_INFO_SCHEMA", DefaultSchema),
Schema: schema,
}
for _, dir := range []string{paths.UpdateDir, paths.LogDir} {

View File

@@ -188,8 +188,8 @@ func scanRow(rows *sql.Rows) ([]string, error) {
userCompany sql.NullString
userDepartment sql.NullString
userPosition sql.NullString
userLoginTime sql.NullString
createdAt sql.NullString
userLoginTime sql.NullTime
createdAt sql.NullTime
userFamilyFlag sql.NullString
)
@@ -225,8 +225,8 @@ func scanRow(rows *sql.Rows) ([]string, error) {
nullToString(userCompany),
nullToString(userDepartment),
nullToString(userPosition),
nullToString(userLoginTime),
nullToString(createdAt),
formatTimestamp(userLoginTime),
formatTimestamp(createdAt),
nullToString(userFamilyFlag),
}, nil
}
@@ -241,3 +241,10 @@ func nullToString(v sql.NullString) string {
func netAddr(host string, port int) string {
return fmt.Sprintf("%s:%d", host, port)
}
func formatTimestamp(t sql.NullTime) string {
if !t.Valid {
return ""
}
return t.Time.In(kst()).Format("2006-01-02 15:04:05.000")
}