Я столкнулся с проблемой при использовании Phoenix 1.2, ecto 2.1.4, mariaex 0.8.2, mysql 5.6.33 — я хочу хранить метки времени в микросекундах, но столбец, созданный функцией timestamps/1
, представляет собой стандартный datetime
, который округляет до секунд. В документах упоминается опция usec
для меток времени, но даже явно установка этого значения в true не меняет таблицу.
Установите временные метки в микросекунды в 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
Я бы попробовал использовать параметр «тип» для временных меток и установить для него один из типов использования.
- person philosodad; 06.02.2018
timestamps(type: :utc_datetime_usec)
работает нормально (Эликсир 1.7.4, Феникс 1.4)
- person hipertracker; 24.11.2018