{"id":15288763,"url":"https://github.com/henrytseng/activerecord-materialize-adapter","last_synced_at":"2025-10-14T23:11:18.990Z","repository":{"id":40478459,"uuid":"384458028","full_name":"henrytseng/activerecord-materialize-adapter","owner":"henrytseng","description":"ActiveRecord Materialize.io database adapter based on Postgres adapter","archived":false,"fork":false,"pushed_at":"2022-05-05T19:42:16.000Z","size":169,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T16:36:47.713Z","etag":null,"topics":["activerecord","beta","materialize","rails","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/henrytseng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-09T14:13:58.000Z","updated_at":"2022-05-05T19:52:36.000Z","dependencies_parsed_at":"2022-08-09T21:40:34.293Z","dependency_job_id":null,"html_url":"https://github.com/henrytseng/activerecord-materialize-adapter","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henrytseng%2Factiverecord-materialize-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henrytseng%2Factiverecord-materialize-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henrytseng%2Factiverecord-materialize-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henrytseng%2Factiverecord-materialize-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henrytseng","download_url":"https://codeload.github.com/henrytseng/activerecord-materialize-adapter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248681491,"owners_count":21144700,"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":["activerecord","beta","materialize","rails","ruby"],"created_at":"2024-09-30T15:53:07.286Z","updated_at":"2025-10-14T23:11:18.883Z","avatar_url":"https://github.com/henrytseng.png","language":"Ruby","readme":"# ActiveRecord Materialize Adapter\n\n[![Testing](https://github.com/henrytseng/activerecord-materialize-adapter/actions/workflows/testing.yml/badge.svg)](https://github.com/henrytseng/activerecord-materialize-adapter/actions/workflows/testing.yml)\n[![Doc reference](https://img.shields.io/badge/doc-reference-orange)](https://materialize.com/docs)\n[![Chat on Slack](https://img.shields.io/badge/chat-on%20slack-purple)](https://materialize.com/s/chat)\n\nAn ActiveRecord adapter to connect to Materialize databases.  The adapter includes support for materialized views as models supported by `ActiveRecord::Base`.  Support for typical relational database tables are also supported but secondary.\n\nMaterialize is a streaming database for real-time applications. Materialize accepts input data from a variety of streaming sources (e.g. Kafka) and files (e.g. CSVs), and lets you query them using SQL.\n\n[https://materialize.com/](https://materialize.com/)\n\n\n## Usage\n\nAdd gem to your `Gemfile`\n\n```\n   gem 'activerecord-materialize-adapter'\n```\n\nMake sure you have the `pg` or a compatible gem installed.  Update your `database.yml`\n\n```\n  production:\n    reporting_analytics:\n      adapter: materialize\n      host: \"materialize-database-host\"\n      port: \"6875\"\n      database: \"materialize_database_name\"\n      username: \"materialize_user\"\n```\n\n*Gem is currently in an alpha state originally designed as a proof-of-concept.*\n\n\n## Design\n\nThe ActiveRecord Materialize Adapter is heavily based on the PostgreSQL database adapter and also relies on the `pg` gem to be installed.\n\nRead about Materialized architecture [https://materialize.com/docs/overview/architecture/](https://materialize.com/docs/overview/architecture/)\n\nMaterialize has been designed to specifically solve problems with event streaming; therefore, some relational database functionality may not be supported.\n\n\n## Contributing\n\nTo contribute read the `CONTRIBUTING.md` first.\n\nFork the repository and create a pull request referencing tests and documentation.\n\nA development stack can be setup with `bin/build` and tests can be run with `bin/test`.\n\nDebugging with `bin/materialize_psql` and `bin/psql` allows you to connect directly with Materialize and PostgreSQL.\n\nFor testing and debugging a PostgreSQL configuration is available in `postgres/postgresql.conf` and `pg_hba.conf`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenrytseng%2Factiverecord-materialize-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenrytseng%2Factiverecord-materialize-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenrytseng%2Factiverecord-materialize-adapter/lists"}