mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-21 02:26:12 +10:00
Removes the following from test output:
DEPRECATION WARNING: It looks like you are eager loading table(s) (one
of: merge_requests, projects) that are referenced in a string SQL
snippet. For example:
Post.includes(:comments).where("comments.title = 'foo'")
Currently, Active Record recognizes the table in the string, and knows
to JOIN the comments table to the query, rather than loading comments in
a separate query. However, doing this without writing a full-blown SQL
parser is inherently flawed. Since we don't want to write an SQL parser,
we are removing this functionality. From now on, you must explicitly
tell Active Record when you are referencing a table from a string:
Post.includes(:comments).where("comments.title =
'foo'").references(:comments)
If you don't rely on implicit join references you can disable the
feature entirely by setting
`config.active_record.disable_implicit_join_references = true`.
Finders
This type of classes responsible for collectiong items based on different conditions. To prevent lookup methods in models like this:
class Project
def issues_for_user_filtered_by(user, filter)
# A lot of logic not related to project model itself
end
end
issues = project.issues_for_user_filtered_by(user, params)
Better use this:
issues = IssuesFinder.new.execute(project, user, filter)
It will help keep models thiner