mito
mito copied to clipboard
mito:migrate-table fails
$ createdb mito-example
(ql:quickload '(:mito :uuid))
(defclass uuid-pk-mixin ()
((uuid :col-type (:varchar 36)
:initform (uuid:make-v4-uuid)
:accessor object-uuid
:primary-key t))
(:metaclass mito:dao-table-mixin))
(mito:deftable hoge (uuid-pk-mixin)
())
(mito:connect-toplevel :postgres :database-name "mito-example")
(mapc #'mito:execute-sql (mito:table-definition 'hoge))
(ql:quickload '(:mito))
(defclass hoge () ()
(:auto-pk :uuid))
(mito:connect-toplevel :postgres :database-name "mito-example")
(mito:migrate-table 'hoge)
;;; DB Error: there is no parameter $1 (Code: 42P02)
stack trace
0: ((:METHOD DBI.DRIVER:EXECUTE-USING-CONNECTION (DBD.POSTGRES:DBD-POSTGRES-CONNECTION DBD.POSTGRES:DBD-POSTGRES-QUERY T)) #<DBD.POSTGRES:DBD-POSTGRES-CONNECTION {100535CF73}> #<DBD.POSTGRES:DBD-POSTGRES..
Locals:
DBD.POSTGRES::CONN = #<DBD.POSTGRES:DBD-POSTGRES-CONNECTION {100535CF73}>
DBD.POSTGRES::PARAMS = NIL
DBD.POSTGRES::QUERY = #<DBD.POSTGRES:DBD-POSTGRES-QUERY {1003C60773}>
1: (MITO.UTIL:EXECUTE-WITH-RETRY #<DBD.POSTGRES:DBD-POSTGRES-QUERY {1003C60773}> NIL)
Locals:
BINDS = NIL
QUERY = #<DBD.POSTGRES:DBD-POSTGRES-QUERY {1003C60773}>
RETRIED = NIL
2: ((LAMBDA (MITO.DB::QUERY) :IN MITO.DB:EXECUTE-SQL) #<unavailable argument>)
[No Locals]
3: (MITO.UTIL::CALL-WITH-PREPARED-QUERY #<DBD.POSTGRES:DBD-POSTGRES-CONNECTION {100535CF73}> "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT ? PRIMARY KEY" #<FUNCTION (LAMB..
Locals:
CONN = #<DBD.POSTGRES:DBD-POSTGRES-CONNECTION {100535CF73}>
QUERY = #<DBD.POSTGRES:DBD-POSTGRES-QUERY {1003C60773}>
SQL = "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT ? PRIMARY KEY"
THUNK = #<FUNCTION (LAMBDA (MITO.DB::QUERY) :IN MITO.DB:EXECUTE-SQL) {1003C6030B}>
USE-PREPARE-CACHED = NIL
4: ((:METHOD MITO.DB:EXECUTE-SQL (STRING)) "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT ? PRIMARY KEY" NIL) [fast-method]
Locals:
MITO.DB::BINDS = NIL
MITO.DB::SQL = "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT ? PRIMARY KEY"
5: ((SB-PCL::EMF MITO.DB:EXECUTE-SQL) #<unused argument> #<unused argument> "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT ? PRIMARY KEY" NIL)
Locals:
SB-PCL::.ARG0. = "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT ? PRIMARY KEY"
SB-DEBUG::MORE = (NIL)
6: ((:METHOD MITO.DB:EXECUTE-SQL (SXQL.SQL-TYPE:SQL-STATEMENT)) #<SXQL-STATEMENT: ALTER TABLE "hoge" ADD COLUMN "id" character varying(36) NOT NULL DEFAULT '55bcace9-0f0b-4267-925c-4b6c9581eff4' PRIMARY ..
Locals:
MITO.DB::SQL = #<SXQL-STATEMENT: ALTER TABLE "hoge" ADD COLUMN "id" character varying(36) NOT NULL DEFAULT '55bcace9-0f0b-4267-925c-4b6c9581eff4' PRIMARY KEY>
7: ((SB-PCL::EMF MITO.DB:EXECUTE-SQL) #<unused argument> #<unused argument> #<SXQL-STATEMENT: ALTER TABLE "hoge" ADD COLUMN "id" character varying(36) NOT NULL DEFAULT '55bcace9-0f0b-4267-925c-4b6c9581ef..
Locals:
SB-PCL::.ARG0. = #<SXQL-STATEMENT: ALTER TABLE "hoge" ADD COLUMN "id" character varying(36) NOT NULL DEFAULT '55bcace9-0f0b-4267-925c-4b6c9581eff4' PRIMARY KEY>
SB-DEBUG::MORE = NIL
8: ((:METHOD MITO.MIGRATION.TABLE:MIGRATE-TABLE (MITO.DAO.TABLE:DAO-TABLE-CLASS)) #<MITO.DAO.TABLE:DAO-TABLE-CLASS COMMON-LISP-USER::HOGE>) [fast-method]
Locals:
CLASS = #<MITO.DAO.TABLE:DAO-TABLE-CLASS COMMON-LISP-USER::HOGE>
inspect
#<DBD.POSTGRES:DBD-POSTGRES-QUERY {1003C60773}>
--------------------
Class: #<STANDARD-CLASS DBD.POSTGRES:DBD-POSTGRES-QUERY>
--------------------
Group slots by inheritance [ ]
Sort slots alphabetically [X]
All Slots:
[ ] CACHED = NIL
[ ] CONNECTION = #<DBD.POSTGRES:DBD-POSTGRES-CONNECTION {100535CF73}>
[ ] FREEDP = NIL
[ ] NAME = "PREPARED-STATEMENT862"
[ ] PREPARED = NIL
[ ] RESULTS = #<unbound>
[ ] ROW-COUNT = NIL
[ ] SQL = "ALTER TABLE \"hoge\" ADD COLUMN \"id\" character varying(36) NOT NULL DEFAULT $1 PRIMARY KEY"