1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
(in-package #:clsql-sys)
(defmethod database-pkey-constraint ((class standard-db-class)
(database clsql-sqlite3:sqlite3-database))
(let* ((keys (keyslots-for-class class))
(cons (when (= 1 (length keys))
(view-class-slot-db-constraints (first keys)))))
;; This method generates primary key constraints part of the table
;; definition. For Sqlite autoincrement primary keys to work properly
;; this part of the table definition must be left out (IFF autoincrement) .
(when (or (null cons) ;; didnt have constraints to check
;; didnt have auto-increment
(null (intersection
+auto-increment-names+
(listify cons))))
(call-next-method))))
|