DB 시간포멧 수정. access log 추가
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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} {
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user