All pastes #447108 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-18 20:50 UTC
rendered paste body
Project:
  tableName: projects
  columns:
    id:                           { type: integer, primary: true }
    name:                         { type: string(255) }
    created_on:                   { type: timestamp }
    status:                       { type: string(255) }

    last_changed_on:              { type: timestamp }
    company_id:                   { foreignClass: Company, foreignName: company, localName: projects }
    company_name:                 { type: string(255) }

    announcement:                 { type: string }

    start_page:                   { type: string(255) }

    show_writeboards:             { type: boolean }
    show_announcement:            { type: boolean }

Milestone:
  tableName: milestones
  columns:
    id:                           { type: integer, primary: true }
    title:                        { type: string(255) }
    deadline:                     { type: date }
    completed:                    { type: boolean }
    project_id:                   { foreignClass: Project, foreignName: project, localName: milestones }

    created_on:                   { type: timestamp }
    creator_id:                   { foreignClass: Person, foreignName: creator, localName: authored_milestones }
    completed_on:                 { type: timestamp }
    completer_id:                 { foreignClass: Person, foreignName: completer, localName: completed_milestones }

CompanyMilestone:
  inheritance: { extends: Milestone, keyField: oType, keyValue: 1 }
    responsible_party_id:         { foreignClass: Company, ForeignName: responsible_company, localName: milestones }

PersonMilestone:
  inheritance: { extends: Milestone, keyField: oType, keyValue: 1 }
    responsible_party_id:         { foreignClass: Person, ForeignName: responsible_person, localName: milestones }

Entity:
  tableName: entities
  column:
    oType: integer
    name: ...
    address: ...
    ... other common fields ...


Company:
  inheritance: { extends: Entity, keyField: oType, keyValue: 1 }
  columns:
    ... specific columns ...
    web_address:                  { type: string(255) }
    url_name:                     { type: string(255) }

Person:
  inheritance: { extends: Entity, keyField: oType, keyValue: 2 }
  columns:
    ... specific columns ...
    title:                        { type: string(255) }