Я начал проект с Play Framework 2.4, включая Ebean ORM и используя MySql Server 5.5.Play Framework evolutions с использованием неподдерживаемого синтаксиса для MySQL
Как описано в документах Docs, возможно создать базу данных из объектов, и она работает должным образом. Но когда я попытался вставить временную метку, у меня возникла проблема, потому что в Play используется новый синтаксис mysql, который не поддерживается моим сервером.
Вот моя модель:
@ManyToOne
@Column(name = "user_send_id")
private User userSendReq;
@ManyToOne
@Column(name = "user_request_id")
private User userGetReq;
@CreatedTimestamp
@Column(name = "date_request")
private Timestamp whenRequest;
@UpdatedTimestamp
@Column(name = "date_friends")
private Timestamp whenFriends;
private boolean request;
И это MySQL код Play создает для меня:
create table friends (
user_send_req_id bigint,
user_get_req_id bigint,
request tinyint(1) default 0,
date_request datetime(6) not null,
date_friends datetime(6) not null)
;
Когда я пытаюсь применить эволюцию к серверу я получил ошибку ниже:
Код ошибки: 1064. У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи «(6) не равно нулю, date_friends DateTime (6) не нулевой)» в строке 5
Есть ли способ, чтобы сказать Играть в генерировать файлы SQL Evolution только с datetime()
, а не с datetime(6)
?