potiuk commented on issue #6929: [AIRFLOW-6373] Make airflow/utils pylint 
compatible
URL: https://github.com/apache/airflow/pull/6929#issuecomment-569417232
 
 
   I think pylint is VERY right about those cyclic imports.
   
   For me the problem is the db module itself.. It's typical manifestation of 
cyclical imports where you thing various methods are coupled and put them 
together for a wrong reason. 
   If you look what db module now is: "let's use it for any kind of db  
operations". 
   
   But in fact there are two different purpose it serves now:
   * provide methods that are used everywhere for DB operations (including 
models) - `provide_session` is such method. Those methods are USED by the 
models.
   * provide methods that are used to group together db methods for multiple 
models (those methods are USING models).
   
   Putting those two types of methods introduces coupling between them 
unnecessarily. That's exactly what is causing the cyclic imports. 
   
   We should split the db module into two independent modules. I am going to do 
just that shortly.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to