Author: gjm Date: Thu Dec 20 02:29:28 2012 New Revision: 1424271 URL: http://svn.apache.org/viewvc?rev=1424271&view=rev Log: adding the ability to output schema to ModelBase in terms of trac's Table and Column for consistency of dump generation across trac and bh schema - towards #314
Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py?rev=1424271&r1=1424270&r2=1424271&view=diff ============================================================================== --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Thu Dec 20 02:29:28 2012 @@ -16,6 +16,7 @@ # specific language governing permissions and limitations # under the License. +from trac.db import Table, Column from trac.core import TracError from trac.resource import ResourceNotFound from trac.ticket.api import TicketSystem @@ -224,4 +225,14 @@ class ModelBase(object): model.__init__(env, data) rows.append(model) return rows + + @classmethod + def _get_fields(cls): + return cls._meta['key_fields']+cls._meta['non_key_fields'] + + @classmethod + def _get_schema(cls): + fields = [Column(field) for field in cls._get_fields()] + return Table(cls._meta['table_name'], key=set(cls._meta['key_fields'] + + cls._meta['unique_fields'])) [fields]