{"id":15722148,"url":"https://github.com/amoeba/ace-to-sqlite","last_synced_at":"2026-03-15T17:08:01.576Z","repository":{"id":65453563,"uuid":"592206208","full_name":"amoeba/ace-to-sqlite","owner":"amoeba","description":"Automation to export the latest release of the ACE data as SQLite databases served via Datasette","archived":false,"fork":false,"pushed_at":"2024-12-15T23:36:38.000Z","size":65,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T11:09:44.333Z","etag":null,"topics":["acemulator","asherons-call","database","datasette","sqlite"],"latest_commit_sha":null,"homepage":"https://acedb.treestats.net","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amoeba.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":"2023-01-23T07:44:10.000Z","updated_at":"2024-09-12T02:25:18.000Z","dependencies_parsed_at":"2024-01-20T22:30:17.776Z","dependency_job_id":"7166a208-28c1-4f39-a649-446b48837c71","html_url":"https://github.com/amoeba/ace-to-sqlite","commit_stats":{"total_commits":88,"total_committers":1,"mean_commits":88.0,"dds":0.0,"last_synced_commit":"b48ea58cc51dacb7a854dda8f3a57bf1f7cc70cc"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoeba%2Face-to-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoeba%2Face-to-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoeba%2Face-to-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoeba%2Face-to-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amoeba","download_url":"https://codeload.github.com/amoeba/ace-to-sqlite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246395572,"owners_count":20770240,"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":["acemulator","asherons-call","database","datasette","sqlite"],"created_at":"2024-10-03T22:04:25.821Z","updated_at":"2025-12-24T09:33:17.771Z","avatar_url":"https://github.com/amoeba.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ace-to-sqlite\n\nAutomation to export the latest releases of [ACEmulator](https://github.com/ACEmulator) data as SQLite databases served via [Datasette](https://datasette.io).\n\nSee it live at https://acedb.treestats.net.\n\n## Databases\n\nThe following data sources are included:\n\n- `ace_world_base`: https://github.com/ACEmulator/ACE-World-16PY\n- `ace_world_patches`: https://github.com/ACEmulator/ACE-World-16PY-Patches\n- `ace_pcap_exports`: https://github.com/ACEmulator/ACE-PCAP-Exports\n- `ace`: https://github.com/ACEmulator/ACE (via [dogsheep](https://dogsheep.github.io/))\n\n## Rationale\n\nPeople sometimes want to know if certain items are in the game or build things on top of ACE data.\nThe best way to do this is to query the ACE database.\nThis makes that (and more) easier.\n\n## Methodology\n\nI didn't find a good tool that can directly convert MySQL DDL (What ACE stores its data as) to SQLite DDL (what we need for loading into [Datasette](https://datasette.io)).\nAfter trying to some things, I settled on the following set of steps:\n\n- Spin up a MySQL instance\n- Load MySQL DDL files in\n- Run a custom version of [db-to-sqlite](https://datasette.io/tools/csvs-to-sqlite)\n- Publish to Fly.io with [Datasette](https://datasette.io).\n\n## Running This Yourself\n\nThis automation is a GitHub Action so please look at https://github.com/amoeba/ace-to-sqlite/blob/main/.github/workflows/export.yml for the steps.\n\nIf you're interested in running the automation yourself and in another environment, look at https://github.com/amoeba/ace-to-sqlite/blob/main/scripts/generate_world_database.sh which will download and convert the latest ACE World release to SQLite. Its requirements are:\n\n- A local MySQL server instance with the root password off\n- bash\n- curl\n- jq\n- unzip\n- Python\n- db-to-sqlite (Installed from [my fork](https://github.com/amoeba/db-to-sqlite))\n\n## How this GitHub Repository Works\n\nThis repo can automatically pull in a specific ACE database release using GitHub Actions.\nTo pull a new release and re-publish the database, run:\n\n```sh\nexport ACE_TAG=\"changeme\"\ngit tag -a $ACE_TAG -m \"$ACE_TAG\"\ngit push --follow-tags\n```\n\n## Deployment\n\nhttps://acedb.treestats.net/ is deployed on a private VPS running Dokku so only I can perform a deployment.\nHere are my steps:\n\n- Publish a new \"latest\" release by re-tagging \"latest\" and pushing to the repo\n\n  ```sh\n  git tag -d latest\n  git tag -a latest -m latest\n  git push --force --tags\n  ```\n\n- Wait for the Action to finish\n- Push to dokku VPS\n\n## Contributing\n\nPlease file an [Issue](https://github.com/amoeba/ace-to-sqlite/issues) if you have any questions or commands. An example of a good type of issue to file would be if you want a datasource included here that isn't or if you find either a data or documentation issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famoeba%2Face-to-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famoeba%2Face-to-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famoeba%2Face-to-sqlite/lists"}