{"id":24662436,"url":"https://github.com/zeeql/zeeql3apache","last_synced_at":"2026-04-12T20:51:02.798Z","repository":{"id":63921268,"uuid":"92779224","full_name":"ZeeQL/ZeeQL3Apache","owner":"ZeeQL","description":"Apache APR/mod_dbd adaptors for the ZeeQL Swift ORM","archived":false,"fork":false,"pushed_at":"2019-08-15T15:57:53.000Z","size":88,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T04:46:59.606Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZeeQL.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}},"created_at":"2017-05-29T22:15:39.000Z","updated_at":"2019-08-15T15:57:55.000Z","dependencies_parsed_at":"2023-01-14T14:15:40.112Z","dependency_job_id":null,"html_url":"https://github.com/ZeeQL/ZeeQL3Apache","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeQL%2FZeeQL3Apache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeQL%2FZeeQL3Apache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeQL%2FZeeQL3Apache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeQL%2FZeeQL3Apache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZeeQL","download_url":"https://codeload.github.com/ZeeQL/ZeeQL3Apache/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244754729,"owners_count":20504760,"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":[],"created_at":"2025-01-26T04:14:24.076Z","updated_at":"2026-04-12T20:51:02.725Z","avatar_url":"https://github.com/ZeeQL.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003eAPR and Apache Database Adaptors for ZeeQL3\n  \u003cimg src=\"http://zeezide.com/img/ZeeQLIcon1024-QL.svg\"\n       align=\"right\" width=\"128\" height=\"128\" /\u003e\n\u003c/h2\u003e\n\n![Apache 2](https://img.shields.io/badge/apache-2-yellow.svg)\n![Swift4.2](https://img.shields.io/badge/swift-4.2-blue.svg)\n![Swift5](https://img.shields.io/badge/swift-5-blue.svg)\n![macOS](https://img.shields.io/badge/os-macOS-green.svg?style=flat)\n![tuxOS](https://img.shields.io/badge/os-tuxOS-green.svg?style=flat)\n![Travis](https://travis-ci.org/ZeeQL/ZeeQL3Apache.svg?branch=develop)\n\nThis library contains ZeeQL database adaptors based on the Apache Portable\nRuntime DBD module. APR DBD is kinda like a mini-ODBC/JDBC and has drivers\nfor various databases. It supports prepared statements, transactions and\nsome other stuff, but is, overall pretty limited.\nNote that you can also get the a handle to the native database library (e.g.\nlibpq).\n\nThe primary advantage of APR DBD is that you can easily use it inside Apache\nusing `mod_swift` and `mod_dbd`. Which gives you two big advantages:\n\n- Apache will manage the connection pool for you, even across language\n  environments (e.g. you could write some pages in PHP)\n- The web admin can configure the database using regular Apache configuration\n  mechanisms.\n\nNote that while DBD abstracts the database client library, we still carry\ncustom per-database adaptor subclasses. E.g. `APRPostgreSQLAdaptor`. This\nis to support database schema reflection, which varies between SQL databases.\n\n## Apache mod_dbd Adaptor\n\nTODO\n\n\n## Installing APR DBD\n\n### Module Map\n\nTo use APR in Swift you need a proper CLang module map for it. \nSample module maps are included.\n\n### macOS\n\nThe system APR DBD included in macOS is statically linked and only carries\nthe SQLite3 driver. That is, you cannot use it to access a PostgreSQL database.\n\nWe suggest using [Homebrew](https://brew.sh) to get access to a full featured \nAPR. To install APR with the PG and SQLite3 adaptor via Homebrew:\n\n    brew install apr-util --with-openldap --with-postgresql --with-sqlite\n\nIf you already installed APR (or Apache) before, you may need to use\n`reinstall` instead of `install`.\n\nNote: you can also just compile APR from [the sources](https://apr.apache.org),\nthis has the advantage that you can debug the thing from within Xcode (i.e.\nstep into the APR code).\n\n### Ubuntu / Debian\n\nTo install APR on Linux, do something like this:\n\n    sudo apt-get install libaprutil1-dbd-sqlite3 libaprutil1-dbd-pgsql\n\n### Documentation\n\nZeeQL Documentation can be found at:\n[docs.zeeql.io](http://docs.zeeql.io/).\n\n### Who\n\n**ZeeQL** is brought to you by\n[ZeeZide](http://zeezide.de).\nWe like feedback, GitHub stars, cool contract work,\npresumably any form of praise you can think of.\n\nThere is a `#zeeql` channel on the [Noze.io Slack](http://slack.noze.io).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeeql%2Fzeeql3apache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeeql%2Fzeeql3apache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeeql%2Fzeeql3apache/lists"}