Also there's a long term plan to remove classical mappings as a first
class feature, replacing it with an equivalent function that applies
declarative mapping to a class.    There isn't a plan to have a
"clear_mappers()" in this case, the way you clear a mapping for a
class is that you stop using that class and allow it to be garbage
collected.   If your class happens to be referred to by a superclass
which sees it as one of the inheriting mappers it might have to load,
there's no plan to support surgical removal of that subclass.    So
you'd want to stop using the superclass as well.

This all points to the recommended way to do this, which is to just
use declarative normally and if you need a different kind of class  /
table def inside of a polymorphic inheritance hierarchy for the same
name, you build out a new polymorphic inheritance hierarchy and throw
the old one away.  mapper.dispose() is not going to alter the
polymorphic collection of the superclass either.

Supporting the surgical removal of specific mappers from an existing
mapper hierarchy adds a huge amount of complexity, testing, and
development effort to every new mapping feature that associates
mappers together, which is why we don't support this use case.




On Tue, Mar 5, 2019 at 8:54 AM Mike Bayer <mike...@zzzcomputing.com> wrote:
>
> The individual mapper clear process is via the mapper.dispose()
> method.   The individual class that was mapped will be de-instrumented
> and act like a regular Python class.
>
> The next steps to take depend very highly on what kind of mappings you
> are using and what you are trying to do.
>
>
> On Tue, Mar 5, 2019 at 2:00 AM Tolstov Sergey <whistler...@gmail.com> wrote:
> >
> > Thanks for answer,  can i get only part of classes mappers? Somethink about 
> > Myclass.mapper.clear()?
> >
> > --
> > SQLAlchemy -
> > The Python SQL Toolkit and Object Relational Mapper
> >
> > http://www.sqlalchemy.org/
> >
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > description.
> > ---
> > You received this message because you are subscribed to the Google Groups 
> > "sqlalchemy" group.
> > To unsubscribe from this group and stop receiving emails from it, send an 
> > email to sqlalchemy+unsubscr...@googlegroups.com.
> > To post to this group, send email to sqlalchemy@googlegroups.com.
> > Visit this group at https://groups.google.com/group/sqlalchemy.
> > For more options, visit https://groups.google.com/d/optout.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to