j@216: (cl:in-package #:amuse-database-admin) j@216: j@216: (defun create-datasets-table (&optional (database *amuse-database*)) j@216: (%create-datasets-table database) j@216: (%create-datasets-join-table database)) j@216: j@216: (defun drop-datasets-table (&optional (database *amuse-database*)) j@216: (%drop-datasets-table database) j@216: (%drop-datasets-join-table database)) j@216: j@216: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; j@216: ;;; Helper functions j@216: j@216: (defun %create-datasets-table (database) j@216: #.(clsql:locally-enable-sql-reader-syntax) j@216: (clsql:create-table "amuse_datasets" j@216: '(([|dataset-id|] clsql:smallint :unsigned j@216: :not-null :auto-increment :primary-key) j@216: ([|description|] (clsql:varchar 255) j@216: :not-null)) j@216: :database database j@216: :transactions t) j@216: #.(clsql:locally-disable-sql-reader-syntax)) j@216: j@216: (defun %create-datasets-join-table (database) j@216: #.(clsql:locally-enable-sql-reader-syntax) j@216: (clsql:create-table "amuse_datasets_join" j@216: '(([|dataset-id|] clsql:smallint :unsigned j@216: :not-null) j@216: ([|implementation-id|] clsql:smallint j@216: :unsigned :not-null) j@216: ([|composition-id|] clsql:smallint :not-null)) j@216: :constraints '("KEY (dataset_id)") j@216: :database database j@216: :transactions t) j@216: #.(clsql:locally-disable-sql-reader-syntax)) j@216: j@216: (defun %drop-datasets-table (database) j@216: (clsql:drop-table "amuse_datasets" j@216: :database database j@216: :if-does-not-exist :ignore)) j@216: j@216: (defun %drop-datasets-join-table (database) j@216: (clsql:drop-table "amuse_datasets_join" j@216: :database database j@216: :if-does-not-exist :ignore))