{"id":23031922,"url":"https://github.com/sacconazzo/directus-utils","last_synced_at":"2025-08-14T15:32:02.091Z","repository":{"id":144670316,"uuid":"557154360","full_name":"sacconazzo/directus-utils","owner":"sacconazzo","description":"Directus utilities CLI (automatic migrations)","archived":false,"fork":false,"pushed_at":"2024-09-14T19:32:33.000Z","size":73,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-09T20:08:04.456Z","etag":null,"topics":["cli","commander","commands","directus","migrations","permissions","roles","utilities"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/directus-x","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sacconazzo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-25T07:10:00.000Z","updated_at":"2024-11-13T03:40:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"ccfe5829-cfd6-4315-a09f-d79269470a58","html_url":"https://github.com/sacconazzo/directus-utils","commit_stats":{"total_commits":50,"total_committers":3,"mean_commits":"16.666666666666668","dds":0.12,"last_synced_commit":"ab73224231ad1e48b833d83717878d4ba63dd44b"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sacconazzo%2Fdirectus-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sacconazzo%2Fdirectus-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sacconazzo%2Fdirectus-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sacconazzo%2Fdirectus-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sacconazzo","download_url":"https://codeload.github.com/sacconazzo/directus-utils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229841502,"owners_count":18132565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","commander","commands","directus","migrations","permissions","roles","utilities"],"created_at":"2024-12-15T15:48:19.285Z","updated_at":"2024-12-15T15:48:19.791Z","avatar_url":"https://github.com/sacconazzo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Directus utilities CLI\n\nUtilities scripts for Directus 11 (or latest) projects:\n\n- Automatic migrations (reading from your db and creating a migration for deployment)\n  - **policies** (with permission rules)\n  - **roles** (with associated policy relationship attributes - policy migration needed first)\n  - **translations** (transations table)\n  - **settings**\n  - **files table**\n- Batch updates (set common values on Directus tables)\n\n## Prerequisites\n\nWorking in a Directus nodejs project\n\nRef: https://github.com/directus/directus\n\n## Installation\n\n```\nnpm install directus-x --save-dev\n```\n\n## Setup\n\nBasically DB ref. on your local `.env` file for variables:\n\n- `DB_CLIENT`\n- `DB_HOST`\n- `DB_DATABASE`\n- `DB_USER`\n- `DB_PASSWORD`\n- `DB_PORT`\n\nOtherwise you can create the `directus-utils.js` file in the root of your project as in the example:\n\n```\nmodule.exports = {\n  db: {\n    client: 'mysql',\n    connection: {\n      user: 'root',\n      password: 'password',\n      database: 'directus',\n      host: 'localhost',\n      port: 3306,\n    },\n  },\n  options: {\n    module: false, // enables ES module standard\n  },\n}\n```\n\n## Using\n\nGuide for list of commands:\n\n```\nnpx directus-x --help\n```\n\nExample to create a migration for a **specific policy** `AAA` -\u003e _uuid key_\n\n    npx directus-x migrate --policy AAA\n\nExample to create a migration for the **public role** and **related permissions**\n\n```\nnpx directus-x migrate --role public\n```\n\nExample to create a migration for a **specific role** `XXX` -\u003e _uuid key_ (example: `dc7be20f-7b81-431e-8db2-3ffbbf4f9174`)\n\n```\nnpx directus-x migrate -r dc7be20f-7b81-431e-8db2-3ffbbf4f9174\n```\n\nExample to create a migration for **translations strings**\n\n```\nnpx directus-x migrate --translations\n```\n\nExample to update WYSIWYG options for all project fields using **batch** command\n\n```\nnpx directus-x batch fields-options -k \"interface = 'input-rich-text-html'\" -d '{\"toolbar\": [\"bold\", \"bullist\", \"italic\", \"numlist\", \"underline\"]}'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsacconazzo%2Fdirectus-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsacconazzo%2Fdirectus-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsacconazzo%2Fdirectus-utils/lists"}