On 12/14/2015 05:33 PM, Jeff Widman wrote: > > the descriptions on that page for several other methods say 'see > > execute_at() for more information' so it doesn't exactly "feel" > deprecated. > > I see it just at DDLElement.execute() where that doc should be updated. > Where else? > > > I think here as well? > > http://docs.sqlalchemy.org/en/latest/core/ddl.html#sqlalchemy.schema.DDL.params.statement > > http://docs.sqlalchemy.org/en/latest/core/compiler.html?highlight=execute_at#subclassing-guidelines > (search for execute_at) > > > > > > I tried calling the normal Index function, but it threw an exception > > when I passed it a materialized view object > > what exception? > > > OK this might be because that recipe uses a lower-case "table()" object > which is not as full featured as Table, i'd alter the recipe to use > Table perhaps > > > > It may be related to using __table__() rather than Table(). I tried > altering the recipe to use Table(), but couldn't figure it out, since my > materialized views need to be created after the other tables are > created. Perhaps Flask-SQLAlchemy was doing some magic when I called > db.create_all() that grabbed everything with Table(). > > Not a big deal. I'm planning to blog how I worked everything out later > this week as reference for anyone else trying to create/manage a > postgresql materialized view with sqlalchemy, and when I do I'll send > out a link to the list. > > For reference, here is the exception: > > /# materialized view already exists as a __table__() object called > 'GearCategoryMV'/ > /# Afterwards I try creating an index on it:/ > > /db.Index('myindex', GearCategoryMV.id, unique=False)/ > / > / > /# fails with the following traceback/ > / > / > /Traceback (most recent call last):/ > / File "manage.py", line 11, in <module>/ > / from app.models.gear_models import (GearCategory, GearCategoryMV, > GearItem,/ > / File > "/Users/jeffwidman/Code/rc/api_rc_flask/app/models/gear_models.py", line > 428, in <module>/ > / db.Index('myindex', GearCategoryMV.id, unique=True)/ > / File > "/Users/jeffwidman/.virtualenvs/api_rc_flask/lib/python3.5/site-packages/sqlalchemy/sql/schema.py", > line 3172, in __init__/ > / ColumnCollectionMixin.__init__(self, *columns)/ > / File > "/Users/jeffwidman/.virtualenvs/api_rc_flask/lib/python3.5/site-packages/sqlalchemy/sql/schema.py", > line 2446, in __init__/ > / self._check_attach()/ > / File > "/Users/jeffwidman/.virtualenvs/api_rc_flask/lib/python3.5/site-packages/sqlalchemy/sql/schema.py", > line 2491, in _check_attach/ > / col._on_table_attach(_col_attached)/ > / File > "/Users/jeffwidman/.virtualenvs/api_rc_flask/lib/python3.5/site-packages/sqlalchemy/sql/schema.py", > line 1306, in _on_table_attach/ > / fn(self, self.table)/ > / File > "/Users/jeffwidman/.virtualenvs/api_rc_flask/lib/python3.5/site-packages/sqlalchemy/sql/schema.py", > line 2488, in _col_attached/ > / self._check_attach(evt=True)/ > / File > "/Users/jeffwidman/.virtualenvs/api_rc_flask/lib/python3.5/site-packages/sqlalchemy/sql/schema.py", > line 2479, in _check_attach/ > / assert not evt, "Should not reach here on event call"/ > /AssertionError: Should not reach here on event call/
oh...if you can send me a short script that reproduces that there's likely a bug. > ᐧ > > -- > 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 [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/d/optout. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.
