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

Roadmap #285

Open
imdrasil opened this issue Nov 13, 2019 · 0 comments
Open

Roadmap #285

imdrasil opened this issue Nov 13, 2019 · 0 comments

Comments

@imdrasil
Copy link
Owner

imdrasil commented Nov 13, 2019

This issue includes all thoughts and information about features that must/should/could be added to Jennifer in a one of the following releases.

This issue is pinned to the top and will be updated. If anyone would like to propose a new feature - create a separate issue with detailed description. If you would like to pick up existing one from this list - also create a separate issue to indicate that fact.

All items that have any progress marked with an associated release which means they are ready but haven't released yet.

Roadmap

Must

  • add ability to give multiple field names to a single validates_* validation macro in model class declaration
  • add multiple adapter support [0.9.0]
  • add through option to has_many and has_one associations
  • ensure all migration table builders has all required actions and similar interface (e.g. ChangeTable has not all actions) [0.9.0]
  • remove Adapter .exec, .query and .scalar methods [0.9.0]
  • add description how to integrate micrate with Jennifer [0.9.0]
  • remove Model::Base.primary_field_type [0.9.0]

Should

  • add reversible mechanism to Migration::Base in addition to existing up/down
  • add complete timestampz postgres data type support
  • add native support of CASE-WHEN construction
  • consolidate expression model - SQLNode, Statement, Criteria looks a little bit odd ATM and requires consolidation to bring some logic structure to class hierarchy
  • add opportunity to define composite primary key
  • add opportunity to specify a composite foreign key in association definition
  • add :optional key to association macros and make it false by default for belongs_to
  • add postgres generated columns support
  • remove Resource.build in favor of .new
  • add support of models/views without defined primary key
  • separate adapters to the separate repos
  • add restrict_with_error dependency strategy to association
  • add check for cyclic destroy dependency
  • add partial index support to postgres adapter
  • add USING support to postrges adapter
  • add column encoding and collate support

Could

  • add opportunity to specify whether migration is executed in pessimistic/optimistic strategy
  • consider converting time to UTC on bulk insert for raw insert (array of hashes)
  • differentiate data and schema migrations
  • consider more flexible way to support roadmap
  • add pseudo materialized views for mysql adapter - using table
  • add opportunity to switch query to escape arguments instead of bind
  • consider sharing connection across fibers instead of connection-per-fiber strategy and add read/write lock mechanism
  • make type field of STI models customizeable
@imdrasil imdrasil pinned this issue Nov 13, 2019
Repository owner locked and limited conversation to collaborators Nov 13, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant