rendered paste bodyProject:
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) }