-#!/usr/bin/python2.6
+#!/usr/bin/python2.7
# -*- coding: iso-8859-15 -*-
# $Id$
# $HeadURL$
tables in MediaWiki easy. The module uses sqlalchemy to access the database.
"""
from sqlalchemy import Table, Column, types, schema
+from geoalchemy import GeometryExtensionColumn, MultiPolygon
def wrreport_table(metadata):
* version 1.2
* version 1.3 (no changes)
* version 1.4 (no changes)
+ * version 1.5 added time_report
:param metadata: metadata = sqlalchemy.MetaData()
"""
return Table("wrreport", metadata,
Column("page_id", types.Integer, schema.ForeignKey('wrsledruncache.page_id')),
Column("page_title", types.Unicode(255), nullable=False),
Column("date_report", types.Date),
+ Column("time_report", types.Time),
Column("date_entry", types.DateTime, nullable=False),
Column("date_invalid", types.DateTime),
Column("condition", types.Integer),
Column("delete_person_userid", types.Integer),
Column("delete_person_username", types.Unicode(30)),
Column("delete_reason_public", types.Unicode),
+ Column("delete_invisible", types.Boolean),
)
:param metadata: metadata = sqlalchemy.MetaData()
"""
return Table("wrsledruncache", metadata,
- Column("page_id", types.Integer, primary_key=True),
+ Column("page_id", types.Integer, schema.ForeignKey('wrreportcache.page_id'), primary_key=True),
Column("page_title", types.Unicode(255)),
Column("position_latitude", types.Float),
Column("position_longitude", types.Float),
Column("position_latitude", types.Float),
Column("position_longitude", types.Float),
Column("position_elevation", types.Integer),
+ Column("operator", types.Unicode(255)),
Column("seats", types.Integer),
Column("overnight", types.Boolean),
Column("overnight_comment", types.Unicode(255)),
return Table("wrreportcache", metadata,
Column("page_id", types.Integer, primary_key=True),
Column("page_title", types.Unicode(255), nullable=False),
- Column("report_id", types.Integer),
+ Column("report_id", types.Integer, schema.ForeignKey('wrreport.id')),
Column("date_report", types.Date),
Column("condition", types.Integer),
Column("description", types.Unicode),
)
+def wrregion_table(metadata):
+ """Returns the sqlalchemy Table representing the "wrregion" Winterrodeln table in MediaWiki.
+ Current table definition.
+ * version 1.5 (introduction)
+ :param metadata: metadata = sqlalchemy.MetaData()
+ """
+ return Table("wrregion", metadata,
+ Column("id", types.Integer, primary_key=True),
+ Column("name", types.Unicode(50)),
+ Column("page_id", types.Integer),
+ GeometryExtensionColumn("border", MultiPolygon(2, 4326))
+ )
+
+
+def wrregioncache_table(metadata):
+ """Returns the sqlalchemy Table representing the "wrregioncache" Winterrodeln table in MediaWiki.
+ Current table definition.
+ * version 1.5 (introduction)
+ :param metadata: metadata = sqlalchemy.MetaData()
+ """
+ return Table("wrregioncache", metadata,
+ Column("id", types.Integer, primary_key=True),
+ Column("region_id", types.Integer, schema.ForeignKey('wrregin.id')),
+ Column("page_id", types.Integer)
+ )
+