ฉันประสบปัญหาในการใช้ Phoenix 1.2, ecto 2.1.4, mariaex 0.8.2, mysql 5.6.33 — ฉันต้องการจัดเก็บการประทับเวลาเป็นไมโครวินาที แต่คอลัมน์ที่สร้างโดยฟังก์ชัน timestamps/1
นั้นเป็น datetime
มาตรฐาน ซึ่งจะปัดเศษ ถึงวินาที ใน เอกสาร พวกเขากล่าวถึงตัวเลือก usec
สำหรับการประทับเวลา แต่ยังชัดเจนอีกด้วย การตั้งค่านี้เป็นจริงไม่ได้เปลี่ยนตาราง
ตั้งค่าการประทับเวลาเป็นไมโครวินาทีใน Phoenix ด้วย MySQL
คำตอบ (1)
มีตัวเลือกที่ไม่มีเอกสารสำหรับฟังก์ชัน timestamps/1
: size
ดังนั้น timestamps(size: 6)
จะตั้งค่าคอลัมน์ฐานข้อมูลเป็น datetime(6)
ใน Ecto เวอร์ชันล่าสุด มี usec ประเภท อธิบายไว้ที่นี่ ก>
person
philosodad
schedule
15.06.2017
ตอนนี้ได้เปลี่ยนเป็น
usec
แล้วหรือยัง? เพราะฉันลองแล้ว แต่ใช้งานไม่ได้ ไม่แน่ใจว่าเป็นเพราะนี่คือการเปลี่ยนแปลงล่าสุดหรือไม่
- person CMCDragonkai; 06.02.2018
คุณใช้ทุกอย่างเวอร์ชันไหน?
- person philosodad; 06.02.2018
ฉันจะลองใช้ตัวเลือก 'ประเภท' สำหรับการประทับเวลาและตั้งค่าเป็นประเภท usec ประเภทใดประเภทหนึ่ง
- person philosodad; 06.02.2018
timestamps(type: :utc_datetime_usec)
ทำงานได้ดี (Elixir 1.7.4, Phoenix 1.4)
- person hipertracker; 24.11.2018