Я собирался сделать что-то вроде учебника вещей с призмой.
Я выбираю способ "Существующая база данных" с mysql. Некоторое время это выглядело нормально, но когда я набрал prisma deploy
, произошла ошибка ниже.
Я думаю, что это связано с ALTER Table с вещами ALGORITHM = INPLACE.
Я выясняю эти новые функции поддерживаются после mysql 5.6.x. (https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl-operations.html)
вы, ребята, думаете, что это проблема с этим?
Я использую 5.5 версия.
Applying changes 9.5s
! The Migration failed and has not been performed. This is very likely not a transient issue.
! java.sql.SQLSyntaxErrorException: (conn=414970) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
! version for the right syntax to use near '(3) NULL , ALGORITHM = INPLACE' at line 1
! at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:163)
! at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:106)
! at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:235)
! at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:224)
! at org.mariadb.jdbc.MariaDbPreparedStatementClient.execute(MariaDbPreparedStatementClient.java:159)
! at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
! at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
! at slick.jdbc.StatementInvoker.results(StatementInvoker.scala:39)
! at slick.jdbc.StatementInvoker.iteratorTo(StatementInvoker.scala:22)
! at slick.jdbc.Invoker.first(Invoker.scala:30)
! at slick.jdbc.Invoker.first$(Invoker.scala:29)
! at slick.jdbc.StatementInvoker.first(StatementInvoker.scala:16)
! at slick.jdbc.StreamingInvokerAction$HeadAction.run(StreamingInvokerAction.scala:52)
! at slick.jdbc.StreamingInvokerAction$HeadAction.run(StreamingInvokerAction.scala:51)
! at slick.dbio.DBIOAction$$anon$4.$anonfun$run$3(DBIOAction.scala:239)
! at scala.collection.Iterator.foreach(Iterator.scala:937)
! at scala.collection.Iterator.foreach$(Iterator.scala:937)
! at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)
! at scala.collection.IterableLike.foreach(IterableLike.scala:70)
! at scala.collection.IterableLike.foreach$(IterableLike.scala:69)
! at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
! at slick.dbio.DBIOAction$$anon$4.run(DBIOAction.scala:239)
! at slick.dbio.DBIOAction$$anon$4.run(DBIOAction.scala:237)
! at slick.basic.BasicBackend$DatabaseDef$$anon$3.liftedTree1$1(BasicBackend.scala:276)
! at slick.basic.BasicBackend$DatabaseDef$$anon$3.run(BasicBackend.scala:276)
! at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
! at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
! at java.lang.Thread.run(Thread.java:748)
! Caused by: java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the
! right syntax to use near '(3) NULL , ALGORITHM = INPLACE' at line 1
! Query is: ALTER TABLE `order_test`.`agency_calculate` ADD COLUMN `month_num` datetime(3) NULL , ALGORITHM = INPLACE
! at org.mariadb.jdbc.internal.util.LogQueryTool.exceptionWithQuery(LogQueryTool.java:146)
! at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:217)
! at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:218)
! ... 24 more
!