{"id":21499236,"url":"https://github.com/pinguapps/appwritemigrator","last_synced_at":"2025-07-15T21:31:25.446Z","repository":{"id":239681357,"uuid":"798207017","full_name":"PinguApps/AppwriteMigrator","owner":"PinguApps","description":"PinguApps.AppwriteMigrator is a .NET CLI tool that enables a code-first approach to managing your database schema with Appwrite. This tool simplifies the process of syncing and migrating your database schema between local and remote environments, ensuring consistency across development, staging, and production setups.","archived":false,"fork":false,"pushed_at":"2024-10-23T21:29:54.000Z","size":174,"stargazers_count":10,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2024-10-24T09:52:53.139Z","etag":null,"topics":["appwrite","cli","code-first","database","migrate","schema","sync","tool"],"latest_commit_sha":null,"homepage":"","language":"C#","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/PinguApps.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":"2024-05-09T10:03:24.000Z","updated_at":"2024-10-23T21:29:45.000Z","dependencies_parsed_at":"2024-05-14T02:29:47.383Z","dependency_job_id":"863cb954-88f9-4299-9a2b-407d42fd59fa","html_url":"https://github.com/PinguApps/AppwriteMigrator","commit_stats":null,"previous_names":["pinguapps/appwritemigrator"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinguApps%2FAppwriteMigrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinguApps%2FAppwriteMigrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinguApps%2FAppwriteMigrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinguApps%2FAppwriteMigrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PinguApps","download_url":"https://codeload.github.com/PinguApps/AppwriteMigrator/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226071046,"owners_count":17569103,"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":["appwrite","cli","code-first","database","migrate","schema","sync","tool"],"created_at":"2024-11-23T17:15:03.614Z","updated_at":"2024-11-23T17:15:04.321Z","avatar_url":"https://github.com/PinguApps.png","language":"C#","readme":"# PinguApps.AppwriteMigrator\n\nPinguApps.AppwriteMigrator is a .NET CLI tool that enables a code-first approach to managing your database schema with Appwrite. This tool simplifies the process of syncing and migrating your database schema between local and remote environments, ensuring consistency across development, staging, and production setups.\n\n[![NuGet Version](https://img.shields.io/nuget/v/PinguApps.AppwriteMigrator?logo=nuget\u0026style=for-the-badge)](https://www.nuget.org/packages/PinguApps.AppwriteMigrator) [![NuGet Downloads](https://img.shields.io/nuget/dt/PinguApps.AppwriteMigrator?style=for-the-badge\u0026logo=nuget)](https://www.nuget.org/packages/PinguApps.AppwriteMigrator) [![GitHub Repo stars](https://img.shields.io/github/stars/PinguApps/AppwriteMigrator?style=for-the-badge\u0026logo=github)](https://github.com/PinguApps/AppwriteMigrator) [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/PinguApps/AppwriteMigrator/main.yml?style=for-the-badge\u0026logo=github)](https://github.com/PinguApps/AppwriteMigrator) [![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/PinguApps/AppwriteMigrator?style=for-the-badge\u0026logo=codefactor)](https://www.codefactor.io/repository/github/pinguapps/appwritemigrator)\n\n# 🔧 Installation\nInstall the PinguApps.AppwriteMigrator package via NuGet:\n\n```sh\ndotnet tool install -g PinguApps.AppwriteMigrator --prerelease\n```\n\n# 🚀 Usage\nThe `appwrite-migrator` tool provides commands to sync your local schema with a remote Appwrite project and to migrate changes from a local JSON file to a remote Appwrite project.\n\n## 📃 Commands\n### `sync`\nSyncs the settings from your provided project to a local JSON file.\n\n#### Usage\n```sh\nappwrite-migrator sync [--endpoint \u003cString\u003e] [--id \u003cString\u003e] [--key \u003cString\u003e] [--file-name \u003cString\u003e] [--help]\n```\n#### Options\n- `-e, --endpoint \u003cstring\u003e`: The API endpoint (Required)\n- `-i, --id \u003cstring\u003e`: The Project ID for the target project(Required)\n- `-k, --key \u003cstring\u003e`: The API Key for the project (Required)\n- `-f, --file-name \u003cstring\u003e`: The filename to store the schema within (Default: `appwrite-schema.json`)\n- `-h, --help`: Show help message\n\n\n### `migrate`\nMigrates the local settings JSON up to the specified project.\n\n#### Usage\n```sh\nappwrite-migrator sync [--endpoint \u003cString\u003e] [--id \u003cString\u003e] [--key \u003cString\u003e] [--file-name \u003cString\u003e] [--help]\n```\n#### Options\n- `-e, --endpoint \u003cstring\u003e`: The API endpoint (Required)\n- `-i, --id \u003cstring\u003e`: The Project ID for the target project(Required)\n- `-k, --key \u003cstring\u003e`: The API Key for the project (Required)\n- `-f, --file-name \u003cstring\u003e`: The filename containing the schema definition (Default: `appwrite-schema.json`)\n- `-h, --help`: Show help message\n\n# 🗃️ Examples\n## Syncing Schema\nTo sync the schema from an appwrite project running on your localhost to the default `.json` file:\n```sh\nappwrite-migrator sync -e http://localhost/v1 -i 98c71317207156ca9d3a -k 6e2793615c46c756ce4edd77dd9f4b00af225a4b3ef57704986012c71a9c3c677b4fab497229c71b411678eed4e0bc692de9d354b30983f33963926656d7945127e2448ee888b454d80150901b6f381efd9591ece755b2e6aea718c29bc6d1c78b6edcfad56474444b04058b6d4baaea188f8c097f623de8b362740d591c7314\n```\nThis command will create or update the `appwrite-schema.json` file with the current schema from the specified project.\n\n\n## Migrating Schema\nTo migrate the local JSON file to a remote Appwrite project:\n```sh\nappwrite-migrator migrate -e https://myproject.com/api/v1 -i 98c71317207156ca9d3a -k 6e2793615c46c756ce4edd77dd9f4b00af225a4b3ef57704986012c71a9c3c677b4fab497229c71b411678eed4e0bc692de9d354b30983f33963926656d7945127e2448ee888b454d80150901b6f381efd9591ece755b2e6aea718c29bc6d1c78b6edcfad56474444b04058b6d4baaea188f8c097f623de8b362740d591c7314\n```\nThis command will read the `appwrite-schema.json` file and apply the schema to the specified project.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinguapps%2Fappwritemigrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinguapps%2Fappwritemigrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinguapps%2Fappwritemigrator/lists"}