Mercurial > hg > amuse
diff base/datasets/datasets-db/datasets-db-setup.lisp @ 250:b3260d1d2419
Add onset-in-bar-relative-to-tactus.
This depends on tactus-duration, which needs revisiting.
author | Jamie Forth <j.forth@gold.ac.uk> |
---|---|
date | Thu, 24 Feb 2011 11:23:18 +0000 |
parents | |
children | 6a3adca16910 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/base/datasets/datasets-db/datasets-db-setup.lisp Thu Feb 24 11:23:18 2011 +0000 @@ -0,0 +1,46 @@ +(cl:in-package #:amuse-database-admin) + +(defun create-datasets-table (&optional (database *amuse-database*)) + (%create-datasets-table database) + (%create-datasets-join-table database)) + +(defun drop-datasets-table (&optional (database *amuse-database*)) + (%drop-datasets-table database) + (%drop-datasets-join-table database)) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Helper functions + +(defun %create-datasets-table (database) + #.(clsql:locally-enable-sql-reader-syntax) + (clsql:create-table "amuse_datasets" + '(([|dataset-id|] clsql:smallint :unsigned + :not-null :auto-increment :primary-key) + ([|description|] (clsql:varchar 255) + :not-null)) + :database database + :transactions t) + #.(clsql:locally-disable-sql-reader-syntax)) + +(defun %create-datasets-join-table (database) + #.(clsql:locally-enable-sql-reader-syntax) + (clsql:create-table "amuse_datasets_join" + '(([|dataset-id|] clsql:smallint :unsigned + :not-null) + ([|implementation-id|] clsql:smallint + :unsigned :not-null) + ([|composition-id|] clsql:smallint :not-null)) + :constraints '("KEY (dataset_id)") + :database database + :transactions t) + #.(clsql:locally-disable-sql-reader-syntax)) + +(defun %drop-datasets-table (database) + (clsql:drop-table "amuse_datasets" + :database database + :if-does-not-exist :ignore)) + +(defun %drop-datasets-join-table (database) + (clsql:drop-table "amuse_datasets_join" + :database database + :if-does-not-exist :ignore))