does this go in model?
On Feb 13, 12:20 am, Michael Toomim <[email protected]> wrote: > Here's an improved way to create indices in the DAL. Works only with > postgresql and sqlite. > > def create_indices(*fields): > ''' > Creates a set of indices if they do not exist > Use like: > create_indices(db.posts.created_at, > db.users.first_name, > etc...) > ''' > for field in fields: > > table = field.tablename > column = field.name > db = field.db > > if db._uri.startswith('sqlite:'): > db.executesql('create index if not exists %s_%s_index on > %s (%s);' > % (table, column, table, column)) > elif db._uri.startswith('postgres:'): > # Our indexes end with "_index", but web2py autogenerates > # one named "_key" for fields created with unique=True. > # So let's check to see if one exists of either form. > index_exists = \ > db.executesql("select count(*) from pg_class where > relname='%s_%s_index' or relname='%s_%s_key';" > % (table, column, table, column))[0][0] > == 1 > > if not index_exists: > db.executesql('create index %s_%s_index on %s (%s);' > % (table, column, table, column)) > db.commit() > > This improves on this one I posted a while back: > http://groups.google.com/group/web2py/browse_thread/thread/8f6179915a...

