src/main/scala/fis/geo/model/GeoSchema.scala
author Tomas Zeman <tzeman@volny.cz>
Mon, 02 Apr 2012 01:14:48 +0200
changeset 23 16066379860c
parent 9 fe20033afdf1
child 65 a35a0edf9ddd
permissions -rw-r--r--
Global entity removal from base schema

/*
 * Copyright 2011-2012 Tomas Zeman <tzeman@volny.cz>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package fis.geo.model

import fis.base.model.BaseSchema
import net.liftweb.squerylrecord.RecordTypeMode._

trait GeoSchema extends BaseSchema {
  val cities = table[City]("city")
  val addresses = table[Address]("address")
  val countries = table[Country]("country")

  val cityToAddresses = oneToManyRelation(cities, addresses).
    via((c, a) => c.id === a.cityId)

  val countryToCities = oneToManyRelation(countries, cities).
    via((country, city) => country.id === city.countryId)
}

object GeoSchema extends GeoSchema

// vim: set ts=2 sw=2 et: