使用Java Date对象最简单的方法是将它们存储为MySql DateTime对象(UTC).切换到Instant这种方法将不再起作用,因为MySQL DateTime不提供存储纳秒的精度.只是截断它们可能会导致新创建的Instant对象与从数据库中读取的对象之间出现意外的比较结果.
BigDecimal时间戳不会让我成为一个优雅的解决方案:在MySql Workbench中编写select查询会变得更加困难,因为你必须将时间戳转换到任何地方以使其可读,并且Java中的处理与比较Instant甚至Long值相比有点笨拙.
什么是最好的方式去这里?可能不对varchar,对吧?
我有一个工作流程,可以test在给定情况下自动运行作业,也可以手动运行它:
name: Test
on:
workflow_dispatch:
inputs:
used-branch:
description: Branch the test shall be run on
default: master
required: true
push:
branches: ['main', 'master']
tags: ['!**']
pull_request:
types: [opened, reopened, ready_for_review]
jobs:
test:
steps:
- name: Checkout selected branch
uses: actions/checkout@v3
if: inputs.used-branch != ''
with:
ref: ${{ github.event.inputs.used-branch }}
- name: Checkout current branch
uses: actions/checkout@v3
with:
ref: ${{github.ref}}
if: inputs.used-branch == ''
- name: Run test
...
Run Code Online (Sandbox Code Playgroud)
我希望在合并之前需要进行测试。Require status check to pass before merging因此,我检查并在存储库的分支设置中Require …
我知道,有人问过类似的问题,但我没有找到这种情况的答案:
type ExportedStruct struct{ //comes from a dependency, so I can't change it
unexportedResource ExportedType
}
Run Code Online (Sandbox Code Playgroud)
我想打电话给一个出口的方法Close()上unexportedResource。
我所做的是:
rs := reflect.ValueOf(myExportedStructPtr).Elem() //myExportedStructPtr is a pointer to an ExportedStruct object
resourceField := rs.FieldByName("unexportedResource")
closeMethod := resourceField.MethodByName("Close")
closeMethod.Call([]reflect.Value{reflect.ValueOf(context.Background())})
Run Code Online (Sandbox Code Playgroud)
,这导致reflect.flag.mustBeExported using value obtained using unexported field。
这很烦人,因为我想运行多个利用 的测试ExportedStruct,但只要不使用底层资源,我就不能。
因为我可以访问私有字段(如解释在这里)我有一点希望,我被允许访问该场莫名其妙的公共方法,太。也许我只是反映错误?