mito icon indicating copy to clipboard operation
mito copied to clipboard

not valid mysql create table sql

Open lidh04 opened this issue 5 years ago • 1 comments

CL-USER> (mito:connect-toplevel :mysql :database-name "v****" :username "****" :password "********") #<DBD.MYSQL:<DBD-MYSQL-CONNECTION> {1007644EA3}> CL-USER> (mito:deftable user() ((name :col-type (:varchar 64)) (email :col-type (or (:varchar 128) :null)))) #<MITO.DAO.TABLE:DAO-TABLE-CLASS COMMON-LISP-USER::USER> CL-USER> (mito:table-definition 'user) (#<SXQL-STATEMENT: CREATE TABLE user ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(64) NOT NULL, email VARCHAR(128), created_at TIMESTAMP, updated_at TIMESTAMP )>) CL-USER> (mapc #'mito:execute-sql (mito:table-definition 'user)) ; Debugger entered on #<DBI.ERROR:<DBI-PROGRAMMING-ERROR> {1005254273}> [1] CL-USER> DB Error: Invalid default value for 'updated_at' (Code: 1067) [Condition of type DBI.ERROR:<DBI-PROGRAMMING-ERROR>]

Restarts: 0: [RETRY] Retry SLY mREPL evaluation request. 1: [*ABORT] Return to SLY's top level. 2: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {1002773FF3}>)

Backtrace: 0: ((:METHOD DBI.DRIVER:EXECUTE-USING-CONNECTION (DBD.MYSQL:<DBD-MYSQL-CONNECTION> DBD.MYSQL:<DBD-MYSQL-QUERY> T)) #<DBD.MYSQL:<DBD-MYSQL-CONNECTION> {1001897A23}> #<DBD.MYSQL:<DBD-MYSQL-QUERY> {10052530.. 1: ((:METHOD DBI.DRIVER:DO-SQL (DBI.DRIVER:<DBI-CONNECTION> STRING)) # # # #) [fast-method,more] 2: ((:METHOD MITO.DB:EXECUTE-SQL (SXQL.SQL-TYPE:SQL-STATEMENT)) #<SXQL-STATEMENT: CREATE TABLE user ( ..) [fast-method] 3: ((SB-PCL::EMF MITO.DB:EXECUTE-SQL) # # #<SXQL-STATEMENT: CREATE TABLE user ( ..) 4: (SB-IMPL::MAP1 #<STANDARD-GENERIC-FUNCTION MITO.DB:EXECUTE-SQL (3)> (NIL) NIL T) 5: (MAPC #<STANDARD-GENERIC-FUNCTION MITO.DB:EXECUTE-SQL (3)> (#<SXQL-STATEMENT: CREATE TABLE user ( ..) 6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (MAPC (FUNCTION MITO.DB:EXECUTE-SQL) (MITO.DAO.VIEW:TABLE-DEFINITION (QUOTE USER))) #<NULL-LEXENV>) 7: (EVAL (MAPC (FUNCTION MITO.DB:EXECUTE-SQL) (MITO.DAO.VIEW:TABLE-DEFINITION (QUOTE USER)))) 8: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1)) --more--

lidh04 avatar Oct 08 '19 08:10 lidh04

@lidh04 - I run into the same problem today and I suspect it has something to do with:

  • Version of MySQL
  • Default settings associated with that version

I copy-pasted a docker-compose.yml file from the Internet and it was linking mysql:5.7 (that version did not seem to like mitos queries); I then switched to mysql:8.0.21 and the error disappeared.

iamFIREcracker avatar Jul 20 '20 13:07 iamFIREcracker