-#
-# floof/floof/model/__init__.py
-#
-# Copyright (c) 2009 Scribblr
-#
-# See: http://bel-epa.com/docs/elixir_pylons/
-#
-
"""The application's model objects"""
-
-from floof.model import art, users
-from floof.model import meta
import elixir
+from floof.model import meta
-elixir.session = meta.Session
-Session = elixir.session
-elixir.options_defaults.update({ 'autoload': True, 'shortnames': True })
-
+Session = elixir.session = meta.Session
+# Uncomment if using reflected tables
+# elixir.options_defaults.update({'autoload': True})
+elixir.options_defaults.update({'shortnames':True})
metadata = elixir.metadata
+# this will be called in config/environment.py
+# if not using reflected tables
def init_model(engine):
- elixir.session.configure(bind=engine)
+ """Call me before using any of the tables or classes in the model"""
+ meta.Session.configure(bind=engine)
metadata.bind = engine
- if elixir.options_defaults.get('autoload', False):
- if not metadata.is_bound():
- elixir.delay_setup = True
- else:
- elixir.setup_all(True)
+# Delay the setup if using reflected tables
+if elixir.options_defaults.get('autoload', False) \
+ and not metadata.is_bound():
+ elixir.delay_setup = True
+
+# # import other entities here, e.g.
+# from floof.model.blog import BlogEntry, BlogComment
+from floof.model import art, users, search
+
+# Finally, call elixir to set up the tables.
+# but not if using reflected tables
+if not elixir.options_defaults.get('autoload', False):
+ elixir.setup_all()
+