Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developing arproxy v1: integration tests, redesign aiming to fully support for AR7.1+ #30

Closed
mirakui opened this issue Sep 1, 2024 · 1 comment · Fixed by #32
Closed
Assignees
Milestone

Comments

@mirakui
Copy link
Collaborator

mirakui commented Sep 1, 2024

Background

The current latest version of arproxy (v0.2.8) has the following known issues:

  • Does not work correctly with ActiveRecord 7.0 and later
  • Insufficient support for databases other than MySQL (mysql2)
    • Although arproxy was designed to work with any Database Adapter, we have not been able to test its operation with adapters other than MySQL, and thus cannot guarantee the expected compatibility

Goals for v1

To address these issues, we will begin development on v1, a major version upgrade. The development of v1 will focus on the following directions:

  • Integration tests
    • Until now, we have only conducted unit tests using mock Database Adapters. In v1, we will implement integration tests using real databases and Database Adapters. This will evolve arproxy into a more reliable library.
  • Limiting supported Database Adapters
    • While arproxy was developed with the goal of working with any Database Adapter, in practice, unintended bugs have arisen due to specification differences between various Database Adapters. In v1, we will abandon the goal of working with any Database Adapter and instead develop it to work with specific Database Adapters only. At the time of v1 release, we plan to support operation with mysql2, trilogy and pg.
  • Ensuring backward compatibility for existing proxies
    • We aim to ensure that proxies (classes inheriting from Arproxy::Base) created to work with v0.2.8 will function fully in v1.
  • Support for ActiveRecord 7.1+ only
    • ActiveRecord underwent significant internal restructuring between versions 7.0 and 7.1. Given arproxy's strong dependency on ActiveRecord's internal architecture, supporting version 7.1 and beyond is challenging with our current design. For v1, we plan to narrow down our focus to specific Database Adapters. This approach will allow us to maintain backward compatibility for existing proxies while adding support for ActiveRecord 7.1 and future versions. As part of this transition, we will discontinue support for ActiveRecord 7.0 and earlier versions.
@mirakui mirakui self-assigned this Sep 1, 2024
@mirakui mirakui added this to the v1 milestone Sep 1, 2024
@mirakui mirakui changed the title Developing arproxy v1: integration tests, redesign aiming to fully support for AR7+ Developing arproxy v1: integration tests, redesign aiming to fully support for AR7.1+ Sep 1, 2024
@mirakui
Copy link
Collaborator Author

mirakui commented Sep 16, 2024

Good news: Although I planned to support only ActiveRecord 7.1+, the v1 branch could also work with 6.1 and 7.0.

@mirakui mirakui mentioned this issue Oct 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant