diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6e826a4..b49cb575 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest services: mariadb: - image: mariadb:10.8 + image: mariadb:10.6 env: MYSQL_USER: test MYSQL_PASSWORD: test @@ -28,7 +28,7 @@ jobs: - uses: shogo82148/actions-setup-mysql@v1 with: distribution: 'mariadb' - mysql-version: '10.8' + mysql-version: '10.6' auto-start: false - name: Build database run: | diff --git a/HISTORY.rst b/HISTORY.rst index e900af57..8995ece7 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -5,6 +5,33 @@ History Unreleased / master ------------------- +4.3.0 (2024-12-05) +------------------- + +Note: The schema files now include a command in the first line to set the sanbox +mode which is incompatible with older clients. For more info and to disable, see: +https://mariadb.org/mariadb-dump-file-compatibility-change/ + +Admin: Changes to GitHub workflows as 'main' is now the default branch (previously 'master') + +New or modified tables and columns: + +- Add ``processingPipelineId`` column to the ``AutoProcProgram`` table +- Add new boolean column ``deleted`` to the ``AutoProcProgramAttachment`` table +- Add unique index on ``BLSample(containerId, location, subLocation)`` +- Update the ``ProcessedTomogram`` table comment + +Roles and permissions: + +- Add new grants for Expeye and combine grants into two roles instead of three +- Add roles and grants for MaxScale +- Add role with grants for fragment screening + +Scripts and data changes: + +- Trim trailing '1' in the ``SpaceGroup`` table's ``spaceGroupShortName`` column +- Add scripts that can delete ``DataCollection`` and ``DataCollectionGroup`` rows and referenced rows in other tables + 4.2.1 (2024-08-19) ------------------- diff --git a/README.md b/README.md index 4363e16d..cca80e77 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,19 @@ # ispyb-database -This package provides everything needed to create the Diamond flavour of the ISPyB database schema. As the schema evolves the update scripts will also be published here, so other users of the schema should be able to stay up-to-date. +This repository provides everything needed to create the Diamond flavour of the ISPyB database schema. As the schema evolves the update scripts will also be published here, so other users of the schema should be able to stay up-to-date. ## Requirements -* Server and a client packages of MariaDB 10.3 or later. +* Server and a client packages of MariaDB 10.6 or later. * A Unix-like OS with `bash` shell. * The pandoc package (only required to build documentation at the end of the `build.sh` script.) * If binary logging is enabled in the DB system, then execute this before importing the test schema: `SET GLOBAL log_bin_trust_function_creators=ON;` ## Installation -1. Install MariaDB. See the Wiki for ideas on how to install in a particular environment. -2. Copy `.my.example.cnf` to `.my.cnf` and then edit that file to set the `user` and `password`, e.g. `user = root` and use the `password` you set when securing. Optionally, you can also set e.g. `host` and `port`. +1. Install MariaDB. Please see the Wiki for ideas on how to install in a particular environment. +2. Copy `.my.example.cnf` to `.my.cnf` and then edit that file to set the `user` and `password`, e.g. `user = root` and correspond `password`. Optionally, you can also set e.g. `host` and `port`. 3. In a test environment run the `build.sh` file. This creates the database schema and applies the grants as described in the "Schema" and "Grants" sections below. ### Schema diff --git a/schemas/ispyb/data.sql b/schemas/ispyb/data.sql index 1626a998..5e2a6f32 100644 --- a/schemas/ispyb/data.sql +++ b/schemas/ispyb/data.sql @@ -1,3 +1,4 @@ +/*M!999999\- enable the sandbox mode */ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -49,47 +50,47 @@ INSERT INTO `AutoProcIntegration` (`autoProcIntegrationId`, `dataCollectionId`, /*!40000 ALTER TABLE `AutoProcIntegration` ENABLE KEYS */; /*!40000 ALTER TABLE `AutoProcProgram` DISABLE KEYS */; -INSERT INTO `AutoProcProgram` (`autoProcProgramId`, `processingCommandLine`, `processingPrograms`, `processingStatus`, `processingMessage`, `processingStartTime`, `processingEndTime`, `processingEnvironment`, `recordTimeStamp`, `processingJobId`) VALUES (56425592,'/dls_sw/apps/fast_dp/2395/src/fast_dp.py -a S -j 0 -J 18 /dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','fast_dp',1,NULL,NULL,NULL,NULL,'2016-01-14 12:46:22',NULL), -(56425944,'xia2 min_images=3 -3dii -xparallel -1 -atom s -blend -project cm14451v1 -crystal xtlysjan41 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 3dii',1,NULL,NULL,NULL,NULL,'2016-01-14 13:09:51',NULL), -(56425952,'xia2 min_images=3 -dials -xparallel -1 -atom s -blend -project cm14451v1 -crystal xtlysjan41 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 dials',1,NULL,NULL,NULL,NULL,'2016-01-14 13:24:22',NULL), -(56425963,'/dls_sw/apps/GPhL/autoPROC/20151214/autoPROC/bin/linux64/process -xml -Id xtlysjan41,/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/,tlys_jan_4_1_####.cbf,1,3600 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_PROCESSORS=12 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_J','autoPROC 1.0.4 (see: http://www.globalphasing.com/autoproc/)',1,NULL,NULL,NULL,NULL,'2016-01-14 13:34:34',NULL), -(56426286,'xia2 min_images=3 -dials -atom s -blend -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/linediffraction_1_0001.cbf image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 dials',1,NULL,NULL,NULL,NULL,'2016-01-14 14:01:57',NULL), -(56426287,'xia2 min_images=3 -3dii -atom s -blend -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/linediffraction_1_0001.cbf image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 3dii',1,NULL,NULL,NULL,NULL,'2016-01-14 14:13:57',NULL), -(56983954,'/dls_sw/apps/fast_dp/2395/src/fast_dp.py -a S -j 0 -J 18 /dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','fast_dp',1,NULL,NULL,NULL,NULL,'2016-01-22 11:34:03',NULL), -(56985584,'xia2 min_images=3 -3d -xparallel -1 -atom s -blend -project cm14451v1 -crystal xins22 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','xia2 3d',1,NULL,NULL,NULL,NULL,'2016-01-22 11:52:36',NULL), -(56985589,'/dls_sw/apps/GPhL/autoPROC/20151214/autoPROC/bin/linux64/process -xml -Id xins22,/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/,ins2_2_####.cbf,1,7200 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_PROCESSORS=12 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_JOBS=4 Sto','autoPROC 1.0.4 (see: http://www.globalphasing.com/autoproc/)',1,NULL,NULL,NULL,NULL,'2016-01-22 11:53:38',NULL), -(56985592,'xia2 min_images=3 -3dii -xparallel -1 -atom s -blend -project cm14451v1 -crystal xins22 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','xia2 3dii',1,NULL,NULL,NULL,NULL,'2016-01-22 11:54:01',NULL), -(56986673,'xia2 min_images=3 -dials -xparallel -1 -atom s -blend -project cm14451v1 -crystal xins22 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','xia2 dials',1,NULL,NULL,NULL,NULL,'2016-01-22 12:01:59',5), -(56986674,'/dls_sw/apps/dimple/git-master/main.py --dls-naming --slow -fpng /dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/DataFiles/cm19649v3_xhewlmesh11_free.mtz /dls/i24/data/2018/cm19649-3/tmp/hewlmesh_1.4308.pdb /d','dimple',1,'Blob scores: 78','2018-07-31 08:55:52','2018-07-31 08:57:10',NULL,'2018-07-31 08:57:10',NULL), -(56986675,NULL,'dimple',0,'Unknown error','2018-07-31 08:57:12',NULL,NULL,NULL,NULL); +INSERT INTO `AutoProcProgram` (`autoProcProgramId`, `processingCommandLine`, `processingPrograms`, `processingStatus`, `processingMessage`, `processingStartTime`, `processingEndTime`, `processingEnvironment`, `recordTimeStamp`, `processingJobId`, `processingPipelineId`) VALUES (56425592,'/dls_sw/apps/fast_dp/2395/src/fast_dp.py -a S -j 0 -J 18 /dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','fast_dp',1,NULL,NULL,NULL,NULL,'2016-01-14 12:46:22',NULL,NULL), +(56425944,'xia2 min_images=3 -3dii -xparallel -1 -atom s -blend -project cm14451v1 -crystal xtlysjan41 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 3dii',1,NULL,NULL,NULL,NULL,'2016-01-14 13:09:51',NULL,NULL), +(56425952,'xia2 min_images=3 -dials -xparallel -1 -atom s -blend -project cm14451v1 -crystal xtlysjan41 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 dials',1,NULL,NULL,NULL,NULL,'2016-01-14 13:24:22',NULL,NULL), +(56425963,'/dls_sw/apps/GPhL/autoPROC/20151214/autoPROC/bin/linux64/process -xml -Id xtlysjan41,/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/,tlys_jan_4_1_####.cbf,1,3600 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_PROCESSORS=12 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_J','autoPROC 1.0.4 (see: http://www.globalphasing.com/autoproc/)',1,NULL,NULL,NULL,NULL,'2016-01-14 13:34:34',NULL,NULL), +(56426286,'xia2 min_images=3 -dials -atom s -blend -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/linediffraction_1_0001.cbf image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 dials',1,NULL,NULL,NULL,NULL,'2016-01-14 14:01:57',NULL,NULL), +(56426287,'xia2 min_images=3 -3dii -atom s -blend -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/linediffraction_1_0001.cbf image=/dls/i03/data/2016/cm14451-1/20160114/tlys_jan_4/tlys_jan_4_1_0001.cbf','xia2 3dii',1,NULL,NULL,NULL,NULL,'2016-01-14 14:13:57',NULL,NULL), +(56983954,'/dls_sw/apps/fast_dp/2395/src/fast_dp.py -a S -j 0 -J 18 /dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','fast_dp',1,NULL,NULL,NULL,NULL,'2016-01-22 11:34:03',NULL,NULL), +(56985584,'xia2 min_images=3 -3d -xparallel -1 -atom s -blend -project cm14451v1 -crystal xins22 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','xia2 3d',1,NULL,NULL,NULL,NULL,'2016-01-22 11:52:36',NULL,NULL), +(56985589,'/dls_sw/apps/GPhL/autoPROC/20151214/autoPROC/bin/linux64/process -xml -Id xins22,/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/,ins2_2_####.cbf,1,7200 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_PROCESSORS=12 autoPROC_XdsKeyword_MAXIMUM_NUMBER_OF_JOBS=4 Sto','autoPROC 1.0.4 (see: http://www.globalphasing.com/autoproc/)',1,NULL,NULL,NULL,NULL,'2016-01-22 11:53:38',NULL,NULL), +(56985592,'xia2 min_images=3 -3dii -xparallel -1 -atom s -blend -project cm14451v1 -crystal xins22 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','xia2 3dii',1,NULL,NULL,NULL,NULL,'2016-01-22 11:54:01',NULL,NULL), +(56986673,'xia2 min_images=3 -dials -xparallel -1 -atom s -blend -project cm14451v1 -crystal xins22 -ispyb_xml_out ispyb.xml image=/dls/i03/data/2016/cm14451-1/20160122/gw/ins2/001/ins2_2_0001.cbf','xia2 dials',1,NULL,NULL,NULL,NULL,'2016-01-22 12:01:59',5,NULL), +(56986674,'/dls_sw/apps/dimple/git-master/main.py --dls-naming --slow -fpng /dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/DataFiles/cm19649v3_xhewlmesh11_free.mtz /dls/i24/data/2018/cm19649-3/tmp/hewlmesh_1.4308.pdb /d','dimple',1,'Blob scores: 78','2018-07-31 08:55:52','2018-07-31 08:57:10',NULL,'2018-07-31 08:57:10',NULL,NULL), +(56986675,NULL,'dimple',0,'Unknown error','2018-07-31 08:57:12',NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `AutoProcProgram` ENABLE KEYS */; /*!40000 ALTER TABLE `AutoProcProgramAttachment` DISABLE KEYS */; -INSERT INTO `AutoProcProgramAttachment` (`autoProcProgramAttachmentId`, `autoProcProgramId`, `fileType`, `fileName`, `filePath`, `recordTimeStamp`, `importanceRank`) VALUES (1023947,56425592,'Log','fast_dp.log','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/fast_dp','2016-01-14 12:46:22',NULL), -(1023955,56425944,'Result','cm14451v1_xtlysjan41_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/3dii-run/DataFiles','2016-01-14 13:09:51',NULL), -(1023956,56425944,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/3dii-run','2016-01-14 13:09:51',NULL), -(1023969,56425952,'Result','cm14451v1_xtlysjan41_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/dials-run/DataFiles','2016-01-14 13:24:22',NULL), -(1023970,56425952,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/dials-run','2016-01-14 13:24:22',NULL), -(1023971,56425963,'Log','autoPROC.log','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/autoPROC/ap-run','2016-01-14 13:34:34',NULL), -(1023972,56425963,'Result','truncate-unique.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/autoPROC/ap-run','2016-01-14 13:34:34',NULL), -(1023973,56426286,'Result','AUTOMATIC_DEFAULT_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/dials/DataFiles','2016-01-14 14:01:57',NULL), -(1023974,56426286,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/dials','2016-01-14 14:01:57',NULL), -(1023975,56426287,'Result','AUTOMATIC_DEFAULT_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/3dii/DataFiles','2016-01-14 14:13:57',NULL), -(1023976,56426287,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/3dii','2016-01-14 14:13:57',NULL), -(1037121,56983954,'Log','fast_dp.log','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/fast_dp','2016-01-22 11:34:03',NULL), -(1037160,56985584,'Result','cm14451v1_xins22_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3d-run/DataFiles','2016-01-22 11:52:36',NULL), -(1037161,56985584,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3d-run','2016-01-22 11:52:36',NULL), -(1037162,56985589,'Log','autoPROC.log','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/autoPROC/ap-run','2016-01-22 11:53:38',NULL), -(1037163,56985589,'Result','truncate-unique.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/autoPROC/ap-run','2016-01-22 11:53:38',NULL), -(1037168,56985592,'Result','cm14451v1_xins22_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3dii-run/DataFiles','2016-01-22 11:54:01',NULL), -(1037169,56985592,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3dii-run','2016-01-22 11:54:01',NULL), -(1037183,56986673,'Result','cm14451v1_xins22_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/dials-run/DataFiles','2016-01-22 12:01:59',NULL), -(1037184,56986673,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/dials-run','2016-01-22 12:01:59',NULL), -(1037185,56986674,'Input','--slow','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL), -(1037186,56986674,'Input','--dls-naming','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL), -(1037187,56986674,'Result','final.pdb','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL), -(1037188,56986674,'Result','final.mtz','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL), -(1037189,56986674,'Log','dimple.log','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',0); +INSERT INTO `AutoProcProgramAttachment` (`autoProcProgramAttachmentId`, `autoProcProgramId`, `fileType`, `fileName`, `filePath`, `recordTimeStamp`, `importanceRank`, `deleted`) VALUES (1023947,56425592,'Log','fast_dp.log','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/fast_dp','2016-01-14 12:46:22',NULL,0), +(1023955,56425944,'Result','cm14451v1_xtlysjan41_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/3dii-run/DataFiles','2016-01-14 13:09:51',NULL,0), +(1023956,56425944,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/3dii-run','2016-01-14 13:09:51',NULL,0), +(1023969,56425952,'Result','cm14451v1_xtlysjan41_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/dials-run/DataFiles','2016-01-14 13:24:22',NULL,0), +(1023970,56425952,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/xia2/dials-run','2016-01-14 13:24:22',NULL,0), +(1023971,56425963,'Log','autoPROC.log','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/autoPROC/ap-run','2016-01-14 13:34:34',NULL,0), +(1023972,56425963,'Result','truncate-unique.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/tlys_jan_4_1_/autoPROC/ap-run','2016-01-14 13:34:34',NULL,0), +(1023973,56426286,'Result','AUTOMATIC_DEFAULT_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/dials/DataFiles','2016-01-14 14:01:57',NULL,0), +(1023974,56426286,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/dials','2016-01-14 14:01:57',NULL,0), +(1023975,56426287,'Result','AUTOMATIC_DEFAULT_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/3dii/DataFiles','2016-01-14 14:13:57',NULL,0), +(1023976,56426287,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160114/tlys_jan_4/linediffraction_1_/multi-xia2/3dii','2016-01-14 14:13:57',NULL,0), +(1037121,56983954,'Log','fast_dp.log','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/fast_dp','2016-01-22 11:34:03',NULL,0), +(1037160,56985584,'Result','cm14451v1_xins22_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3d-run/DataFiles','2016-01-22 11:52:36',NULL,0), +(1037161,56985584,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3d-run','2016-01-22 11:52:36',NULL,0), +(1037162,56985589,'Log','autoPROC.log','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/autoPROC/ap-run','2016-01-22 11:53:38',NULL,0), +(1037163,56985589,'Result','truncate-unique.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/autoPROC/ap-run','2016-01-22 11:53:38',NULL,0), +(1037168,56985592,'Result','cm14451v1_xins22_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3dii-run/DataFiles','2016-01-22 11:54:01',NULL,0), +(1037169,56985592,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/3dii-run','2016-01-22 11:54:01',NULL,0), +(1037183,56986673,'Result','cm14451v1_xins22_free.mtz','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/dials-run/DataFiles','2016-01-22 12:01:59',NULL,0), +(1037184,56986673,'Log','xia2.html','/dls/i03/data/2016/cm14451-1/processed/20160122/gw/ins2/001/ins2_2_/xia2/dials-run','2016-01-22 12:01:59',NULL,0), +(1037185,56986674,'Input','--slow','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL,0), +(1037186,56986674,'Input','--dls-naming','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL,0), +(1037187,56986674,'Result','final.pdb','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL,0), +(1037188,56986674,'Result','final.mtz','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',NULL,0), +(1037189,56986674,'Log','dimple.log','/dls/i24/data/2018/cm19649-3/processed/test180731/hewlmesh_1/line4/hewlmesh_1_1_/xia2/3d-run/dimple','2018-07-31 08:57:10',0,0); /*!40000 ALTER TABLE `AutoProcProgramAttachment` ENABLE KEYS */; /*!40000 ALTER TABLE `AutoProcProgramMessage` DISABLE KEYS */; @@ -211,9 +212,9 @@ INSERT INTO `BLSample` (`blSampleId`, `diffractionPlanId`, `crystalId`, `contain /*!40000 ALTER TABLE `BLSample` ENABLE KEYS */; /*!40000 ALTER TABLE `BLSampleGroup` DISABLE KEYS */; -INSERT INTO `BLSampleGroup` (`blSampleGroupId`, `name`, `proposalId`) VALUES (5,NULL,37027), -(6,'foo',37027), -(7,'bar',37027); +INSERT INTO `BLSampleGroup` (`blSampleGroupId`, `name`, `proposalId`, `ownerId`) VALUES (5,NULL,37027,NULL), +(6,'foo',37027,NULL), +(7,'bar',37027,NULL); /*!40000 ALTER TABLE `BLSampleGroup` ENABLE KEYS */; /*!40000 ALTER TABLE `BLSampleGroup_has_BLSample` DISABLE KEYS */; @@ -633,6 +634,9 @@ INSERT INTO `Position` (`positionId`, `relativePositionId`, `posX`, `posY`, `pos /*!40000 ALTER TABLE `PreparePhasingData` DISABLE KEYS */; /*!40000 ALTER TABLE `PreparePhasingData` ENABLE KEYS */; +/*!40000 ALTER TABLE `ProcessedTomogram` DISABLE KEYS */; +/*!40000 ALTER TABLE `ProcessedTomogram` ENABLE KEYS */; + /*!40000 ALTER TABLE `ProcessingJob` DISABLE KEYS */; INSERT INTO `ProcessingJob` (`processingJobId`, `dataCollectionId`, `displayName`, `comments`, `recordTimestamp`, `recipe`, `automatic`) VALUES (5,1002287,'test job 01','Testing the job submission system','2017-10-16 11:02:12','DIALS/xia2',0); /*!40000 ALTER TABLE `ProcessingJob` ENABLE KEYS */; diff --git a/schemas/ispyb/lookups.sql b/schemas/ispyb/lookups.sql index 6c54b6a3..3f7d45ad 100644 --- a/schemas/ispyb/lookups.sql +++ b/schemas/ispyb/lookups.sql @@ -1,3 +1,4 @@ +/*M!999999\- enable the sandbox mode */ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -10,7 +11,7 @@ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; /*!40000 ALTER TABLE `AdminVar` DISABLE KEYS */; -INSERT INTO `AdminVar` (`varId`, `name`, `value`) VALUES (4,'schemaVersion','4.2.1'); +INSERT INTO `AdminVar` (`varId`, `name`, `value`) VALUES (4,'schemaVersion','4.3.0'); /*!40000 ALTER TABLE `AdminVar` ENABLE KEYS */; /*!40000 ALTER TABLE `SchemaStatus` DISABLE KEYS */; @@ -263,7 +264,13 @@ INSERT INTO `SchemaStatus` (`schemaStatusId`, `scriptName`, `schemaStatus`, `rec (292,'2024_07_16_ContainerType_insert_new.sql','DONE','2024-08-14 11:23:41'), (293,'2024_08_08_ProcessedTomogram.sql','DONE','2024-08-14 11:23:41'), (294,'2024_08_14_AdminVar_bump_version.sql','DONE','2024-08-14 11:23:41'), -(295,'2024_08_19_AdminVar_bump_version.sql','DONE','2024-08-19 12:17:10'); +(295,'2024_08_19_AdminVar_bump_version.sql','DONE','2024-08-19 12:17:10'), +(296,'2024_09_04_ProcessedTomogram_comment','ONGOING','2024-12-05 13:27:18'), +(297,'2024_09_17_SpaceGroup_trim','ONGOING','2024-12-05 13:27:18'), +(298,'2024_09_25_AutoProcProgram_processingPipelineId.sql','DONE','2024-12-05 13:27:18'), +(299,'2024_10_15_BLSample_unique_index.sql','DONE','2024-12-05 13:27:18'), +(300,'2024_12_04_AutoProcProgramAttachment_deleted.sql','DONE','2024-12-05 13:27:18'), +(301,'2024_12_05_AdminVar_bump_version.sql','DONE','2024-12-05 13:27:18'); /*!40000 ALTER TABLE `SchemaStatus` ENABLE KEYS */; /*!40000 ALTER TABLE `ComponentType` DISABLE KEYS */; @@ -523,20 +530,20 @@ INSERT INTO `SpaceGroup` (`spaceGroupId`, `spaceGroupNumber`, `spaceGroupShortNa (48,48,'Pnnn','P nn n',NULL,NULL,NULL,NULL,0), (49,49,'Pccm','P cc m',NULL,NULL,NULL,NULL,0), (50,50,'Pban','P ba n',NULL,NULL,NULL,NULL,0), -(51,51,'Pmma1','P mm a1',NULL,NULL,NULL,NULL,0), -(52,52,'Pnna1','P nn a1',NULL,NULL,NULL,NULL,0), -(53,53,'Pmna1','P mn a1',NULL,NULL,NULL,NULL,0), -(54,54,'Pcca1','P cc a1',NULL,NULL,NULL,NULL,0), -(55,55,'Pbam1','P ba m1',NULL,NULL,NULL,NULL,0), -(56,56,'Pccn1','P cc n1',NULL,NULL,NULL,NULL,0), -(57,57,'Pbcm1','P bc m1',NULL,NULL,NULL,NULL,0), -(58,58,'Pnnm1','P nn m1',NULL,NULL,NULL,NULL,0), -(59,59,'Pmmn1','P mm n1',NULL,NULL,NULL,NULL,0), -(60,60,'Pbcn1','P bc n1',NULL,NULL,NULL,NULL,0), -(61,61,'Pbca1','P bc a1',NULL,NULL,NULL,NULL,0), -(62,62,'Pnma1','P nm a1',NULL,NULL,NULL,NULL,0), -(63,63,'Cmcm1','C mc m1',NULL,NULL,NULL,NULL,0), -(64,64,'Cmca1','C mc a1',NULL,NULL,NULL,NULL,0), +(51,51,'Pmma','P mm a1',NULL,NULL,NULL,NULL,0), +(52,52,'Pnna','P nn a1',NULL,NULL,NULL,NULL,0), +(53,53,'Pmna','P mn a1',NULL,NULL,NULL,NULL,0), +(54,54,'Pcca','P cc a1',NULL,NULL,NULL,NULL,0), +(55,55,'Pbam','P ba m1',NULL,NULL,NULL,NULL,0), +(56,56,'Pccn','P cc n1',NULL,NULL,NULL,NULL,0), +(57,57,'Pbcm','P bc m1',NULL,NULL,NULL,NULL,0), +(58,58,'Pnnm','P nn m1',NULL,NULL,NULL,NULL,0), +(59,59,'Pmmn','P mm n1',NULL,NULL,NULL,NULL,0), +(60,60,'Pbcn','P bc n1',NULL,NULL,NULL,NULL,0), +(61,61,'Pbca','P bc a1',NULL,NULL,NULL,NULL,0), +(62,62,'Pnma','P nm a1',NULL,NULL,NULL,NULL,0), +(63,63,'Cmcm','C mc m1',NULL,NULL,NULL,NULL,0), +(64,64,'Cmca','C mc a1',NULL,NULL,NULL,NULL,0), (65,65,'Cmmm','C mm m',NULL,NULL,NULL,NULL,0), (66,66,'Cccm','C cc m',NULL,NULL,NULL,NULL,0), (67,67,'Cmma','C mm a',NULL,NULL,NULL,NULL,0), @@ -545,8 +552,8 @@ INSERT INTO `SpaceGroup` (`spaceGroupId`, `spaceGroupNumber`, `spaceGroupShortNa (70,70,'Fddd','F dd d',NULL,NULL,NULL,NULL,0), (71,71,'Immm','I mm m',NULL,NULL,NULL,NULL,0), (72,72,'Ibam','I ba m',NULL,NULL,NULL,NULL,0), -(73,73,'Ibca1','I b c a1',NULL,NULL,NULL,NULL,0), -(74,74,'Imma1','I mm a1',NULL,NULL,NULL,NULL,0), +(73,73,'Ibca','I b c a1',NULL,NULL,NULL,NULL,0), +(74,74,'Imma','I mm a1',NULL,NULL,NULL,NULL,0), (75,75,'P4','P4','tP',NULL,NULL,NULL,1), (76,76,'P41','P41','tP',NULL,NULL,NULL,1), (77,77,'P42','P42','tP',NULL,NULL,NULL,1), @@ -599,10 +606,10 @@ INSERT INTO `SpaceGroup` (`spaceGroupId`, `spaceGroupNumber`, `spaceGroupShortNa (124,124,'P4/mcc','P4/m c c',NULL,NULL,NULL,NULL,0), (125,125,'P4/nbm','P4/n b m',NULL,NULL,NULL,NULL,0), (126,126,'P4/nnc','P4/n n c',NULL,NULL,NULL,NULL,0), -(127,127,'P4/mbm1','P4/m b m1',NULL,NULL,NULL,NULL,0), -(128,128,'P4/mnc1','P4/m n c1',NULL,NULL,NULL,NULL,0), -(129,129,'P4/nmm1','P4/n m m1',NULL,NULL,NULL,NULL,0), -(130,130,'P4/ncc1','P4/n c c1',NULL,NULL,NULL,NULL,0), +(127,127,'P4/mbm','P4/m b m1',NULL,NULL,NULL,NULL,0), +(128,128,'P4/mnc','P4/m n c1',NULL,NULL,NULL,NULL,0), +(129,129,'P4/nmm','P4/n m m1',NULL,NULL,NULL,NULL,0), +(130,130,'P4/ncc','P4/n c c1',NULL,NULL,NULL,NULL,0), (131,131,'P42/mmc','P42/m m c',NULL,NULL,NULL,NULL,0), (132,132,'P42/mcm','P42/m c m',NULL,NULL,NULL,NULL,0), (133,133,'P42/nbc','P42/n b c',NULL,NULL,NULL,NULL,0), @@ -677,8 +684,8 @@ INSERT INTO `SpaceGroup` (`spaceGroupId`, `spaceGroupNumber`, `spaceGroupShortNa (202,202,'Fm-3','Fm -3',NULL,NULL,NULL,NULL,0), (203,203,'Fd-3','Fd -3',NULL,NULL,NULL,NULL,0), (204,204,'Im-3','Im -3',NULL,NULL,NULL,NULL,0), -(205,205,'Pa-31','Pa -31',NULL,NULL,NULL,NULL,0), -(206,206,'Ia-31','Ia -31',NULL,NULL,NULL,NULL,0), +(205,205,'Pa-3','Pa -31',NULL,NULL,NULL,NULL,0), +(206,206,'Ia-3','Ia -31',NULL,NULL,NULL,NULL,0), (207,207,'P432','P4 3 2','cP',NULL,NULL,NULL,1), (208,208,'P4232','P42 3 2','cP',NULL,NULL,NULL,1), (209,209,'F432','F4 3 2','cF',NULL,NULL,NULL,1), @@ -695,14 +702,14 @@ INSERT INTO `SpaceGroup` (`spaceGroupId`, `spaceGroupNumber`, `spaceGroupShortNa (220,220,'I-43d','I-4 3 d',NULL,NULL,NULL,NULL,0), (221,221,'Pm-3m','Pm -3 m',NULL,NULL,NULL,NULL,0), (222,222,'Pn-3n','Pn -3 n',NULL,NULL,NULL,NULL,0), -(223,223,'Pm-3n1','Pm -3 n1',NULL,NULL,NULL,NULL,0), -(224,224,'Pn-3m1','Pn -3 m1',NULL,NULL,NULL,NULL,0), +(223,223,'Pm-3n','Pm -3 n1',NULL,NULL,NULL,NULL,0), +(224,224,'Pn-3m','Pn -3 m1',NULL,NULL,NULL,NULL,0), (225,225,'Fm-3m','Fm -3 m',NULL,NULL,NULL,NULL,0), (226,226,'Fm-3c','Fm -3 c',NULL,NULL,NULL,NULL,0), -(227,227,'Fd-3m1','Fd -3 m1',NULL,NULL,NULL,NULL,0), -(228,228,'Fd-3c1','Fd -3 c1',NULL,NULL,NULL,NULL,0), +(227,227,'Fd-3m','Fd -3 m1',NULL,NULL,NULL,NULL,0), +(228,228,'Fd-3c','Fd -3 c1',NULL,NULL,NULL,NULL,0), (229,229,'Im-3m','Im -3 m',NULL,NULL,NULL,NULL,0), -(230,230,'Ia-3d1','Ia -3 d1',NULL,NULL,NULL,NULL,0); +(230,230,'Ia-3d','Ia -3 d1',NULL,NULL,NULL,NULL,0); /*!40000 ALTER TABLE `SpaceGroup` ENABLE KEYS */; /*!40000 ALTER TABLE `ProcessingPipelineCategory` DISABLE KEYS */; diff --git a/schemas/ispyb/tables.sql b/schemas/ispyb/tables.sql index c0ef35fb..d68fca82 100644 --- a/schemas/ispyb/tables.sql +++ b/schemas/ispyb/tables.sql @@ -1,3 +1,4 @@ +/*M!999999\- enable the sandbox mode */ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -124,6 +125,7 @@ CREATE TABLE `AutoProcProgram` ( `processingEnvironment` varchar(255) DEFAULT NULL COMMENT 'Cpus, Nodes,...', `recordTimeStamp` datetime DEFAULT NULL COMMENT 'Creation or last update date/time', `processingJobId` int(11) unsigned DEFAULT NULL, + `processingPipelineId` int(11) unsigned DEFAULT NULL, PRIMARY KEY (`autoProcProgramId`), KEY `AutoProcProgram_FK2` (`processingJobId`), CONSTRAINT `AutoProcProgram_FK2` FOREIGN KEY (`processingJobId`) REFERENCES `ProcessingJob` (`processingJobId`) @@ -140,6 +142,7 @@ CREATE TABLE `AutoProcProgramAttachment` ( `filePath` varchar(255) DEFAULT NULL COMMENT 'Attachment filepath to disk storage', `recordTimeStamp` datetime DEFAULT NULL COMMENT 'Creation or last update date/time', `importanceRank` tinyint(3) unsigned DEFAULT NULL COMMENT 'For the particular autoProcProgramId and fileType, indicate the importance of the attachment. Higher numbers are more important', + `deleted` tinyint(1) DEFAULT 0 COMMENT '1/TRUE if the file has been deleted', PRIMARY KEY (`autoProcProgramAttachmentId`), KEY `AutoProcProgramAttachmentIdx1` (`autoProcProgramId`), CONSTRAINT `AutoProcProgramAttachmentFk1` FOREIGN KEY (`autoProcProgramId`) REFERENCES `AutoProcProgram` (`autoProcProgramId`) ON DELETE CASCADE ON UPDATE CASCADE @@ -429,6 +432,7 @@ CREATE TABLE `BLSample` ( `staffComments` varchar(255) DEFAULT NULL COMMENT 'Any staff comments on the sample', `source` varchar(50) DEFAULT current_user(), PRIMARY KEY (`blSampleId`), + UNIQUE KEY `BLSample_uidx_containerId_location_subLocation` (`containerId`,`location`,`subLocation`), KEY `BLSample_FKIndex1` (`containerId`), KEY `BLSample_FKIndex3` (`diffractionPlanId`), KEY `BLSample_FKIndex_Status` (`blSampleStatus`), @@ -2669,7 +2673,7 @@ CREATE TABLE `ProcessedTomogram` ( PRIMARY KEY (`processedTomogramId`), KEY `tomogramId` (`tomogramId`), CONSTRAINT `ProcessedTomogram_ibfk_1` FOREIGN KEY (`tomogramId`) REFERENCES `Tomogram` (`tomogramId`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='References to processed tomogram paths'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Indicates the sample''s location on a multi-sample pin, where 1 is closest to the pin base or a sample''s position in a cryo-EM cassette'; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ProcessingJob`; /*!40101 SET @saved_cs_client = @@character_set_client */; diff --git a/schemas/ispyb/updates/2024_12_05_AdminVar_bump_version.sql b/schemas/ispyb/updates/2024_12_05_AdminVar_bump_version.sql new file mode 100644 index 00000000..ae25d707 --- /dev/null +++ b/schemas/ispyb/updates/2024_12_05_AdminVar_bump_version.sql @@ -0,0 +1,5 @@ +INSERT IGNORE INTO SchemaStatus (scriptName, schemaStatus) VALUES ('2024_12_05_AdminVar_bump_version.sql', 'ONGOING'); + +UPDATE AdminVar SET `value` = '4.3.0' WHERE `name` = 'schemaVersion'; + +UPDATE SchemaStatus SET schemaStatus = 'DONE' WHERE scriptName = '2024_12_05_AdminVar_bump_version.sql';