Saya mengalami masalah saat menggunakan Phoenix 1.2, ecto 2.1.4, mariaex 0.8.2, mysql 5.6.33 — Saya ingin menyimpan stempel waktu dalam mikrodetik, tetapi kolom yang dibuat oleh fungsi timestamps/1
adalah datetime
standar, yang membulatkan hingga detik. Dalam dokumen mereka menyebutkan opsi usec
untuk stempel waktu, tetapi bahkan secara eksplisit menyetel ini ke true tidak mengubah tabel.
Setel stempel waktu ke mikrodetik di Phoenix dengan MySQL
Jawaban (1)
Ada opsi tidak berdokumen untuk fungsi timestamps/1
: size
. Jadi timestamps(size: 6)
akan mengatur kolom database menjadi datetime(6)
.
Dalam versi Ecto yang lebih baru, terdapat ketik usec, dijelaskan di sini sebuah>.
person
philosodad
schedule
15.06.2017
Apakah sekarang sudah diubah menjadi
usec
? Karena saya sudah mencobanya dan tidak berhasil, saya tidak yakin apakah itu karena ini adalah perubahan terkini.
- person CMCDragonkai; 06.02.2018
versi apa yang Anda gunakan?
- person philosodad; 06.02.2018
Saya akan mencoba menggunakan opsi 'ketik' untuk cap waktu dan mengaturnya ke salah satu tipe penggunaan.
- person philosodad; 06.02.2018
timestamps(type: :utc_datetime_usec)
berfungsi dengan baik (Elixir 1.7.4, Phoenix 1.4)
- person hipertracker; 24.11.2018