From f2d758595668434edc76d1ca660df5a71f6470bd Mon Sep 17 00:00:00 2001 From: Valentin Date: Sat, 30 Nov 2024 02:18:35 +0100 Subject: [PATCH] corrections loop schema + suppr wait for db --- bin/add-site/install_directus.sh | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/bin/add-site/install_directus.sh b/bin/add-site/install_directus.sh index 04c203c..3d8d908 100644 --- a/bin/add-site/install_directus.sh +++ b/bin/add-site/install_directus.sh @@ -31,18 +31,8 @@ sed -i "s/^PORT=.*/PORT=${port}/" "/home/${USERNAME}/cms.${DOMAIN_NAME}/.env" docker compose -f "/home/${USERNAME}/cms.${DOMAIN_NAME}/docker-compose.yml" up -d -sleep 10 - -# @TODO: check if admin user is created (with schema it did not create the admin user) docker exec -i "${DOMAIN_NAME}_Directus" sh -c "npx directus bootstrap" -echo "Waiting for Directus database to be ready..." -until docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -uroot -e "SELECT 1 FROM directus.directus_roles LIMIT 1" &> /dev/null -do - echo "Database not ready yet... waiting 5 seconds" - sleep 5 -done - # @TODO: ask if import db # and prompt "take care of permissions settings" # else do the install db manipulations @@ -86,7 +76,9 @@ if [[ "$answer" == "y" ]]; then can_see_policy_id=$(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -N -uroot -e "SELECT id FROM directus.directus_policies WHERE name='CanSee'") can_edit_policy_id=$(docker exec -i "${DOMAIN_NAME}_Directus_DB" mariadb -N -uroot -e "SELECT id FROM directus.directus_policies WHERE name='CanEdit'") - while read collection_name; do + collections=$(docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "mariadb -N -u root directus -e \"SELECT collection FROM directus_collections;\"" | tr -d '\r') + for collection_name in $collections; do + echo $collection_name docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c " mariadb -uroot directus -e \" INSERT INTO directus_permissions (collection, action, permissions, fields, policy) @@ -98,7 +90,7 @@ if [[ "$answer" == "y" ]]; then ('${collection_name}', 'delete', '{}', '*', '${can_edit_policy_id}'); \" " - done < <(docker exec -i "${DOMAIN_NAME}_Directus_DB" sh -c "mariadb -N -u root directus -e \"SELECT collection FROM directus_collections;\"") + done fi if ! grep -q "cms.${DOMAIN_NAME}" "$CADDYFILE"; then