Changes to more broadly support auto-increment. new odbc-postgresql-database type
[clsql.git] / tests / ds-artists.lisp
1 (in-package #:clsql-tests)
2
3 (clsql-sys:file-enable-sql-reader-syntax)
4
5 (defparameter artist1 nil)
6
7 (def-view-class artist ()
8   ((artist_id :accessor artist_id :initarg :id
9               :type integer :db-kind :key :db-constraints (:not-null :auto-increment)
10               :autoincrement-sequence 'artist_artist_id_seq)
11    (name :accessor name :initarg :name :type (varchar 20))
12    (genre :accessor genre :initarg :genre :type (varchar 10) :db-constraints (:default "'Unknown'"))))
13
14 (defun initialize-ds-artists ()
15   (mapc #'clsql:create-view-from-class
16           '(artist))
17
18   (setq *test-start-utime* (get-universal-time))
19   (let* ((*db-auto-sync* nil))
20     (setf  artist1 (make-instance 'artist
21                                   :name "Mogwai"))))
22
23 (def-dataset *ds-artists*
24   (:setup initialize-ds-artists)
25   (:cleanup (lambda ()
26               (mapc #'clsql-sys:drop-view-from-class
27                     '(artist))
28               (ignore-errors
29                 (mapc #'clsql-sys:drop-sequence
30                       (list "artist_artist_id_seq"))))))
31