DrProject Basie Model Map
June 29, 2009
The following is a chart displaying the relationship, in pseudo-declarative SQL format, between the models inherited from DrProject compared to those in Basie:
| DrProject | Basie |
|---|---|
| Enum(whatfor UnicodeText, name UnicodeText, orderno Integer) | |
| SystemProperty(name UnicodeText, value UnicodeText) | |
| Preference(user ManyToOne(‘User’), project ManyToOne(‘Project’), name UnicodeText, value UnicodeText) | |
| Project(name UnicodeText, rss_enabled Boolean, mail_enabled Boolean, locked Boolean) | Project(name CharField, slug SlugField, locked BooleanField, default_group ForeignKey) |
| User(name UnicodeText, locked Boolean, realname UnicodeText, status_code UnicodeText, admin Boolean, memberships OneToMany(‘Membership’), pwd UnicodeText) | User(username CharField, first_name CharField, last_name CharField, email EmailField, password CharField, is_staff BooleanField, is_active BooleanField, is_superuser BooleanField, last_login DateTimeField, date_joined DateTimeField, groups ManyToManyField(Group), user_permissions ManyToManyField(Permission), objects UserManager) |
| UserProfile(user ForeignKey(User), status PositiveSmallIntegerField, language CharField) | |
| Role(name UnicodeText) | Group(name CharField, permissions ManyToManyField(Permission)) |
| Membership(user ManyToOne(‘User’), project ManyToOne(‘Project’), role ManyToOne(‘Role’), status_code UnicodeText) | Membership(user ForeignKey(User), project ForeignKey(“Project”), group ForeignKey(Group), send_email BooleanField, status PositiveSmallIntegerField, objects Manager, approved KwargManager, pending KwargManager, history AuditTrail) |
| RoleCapability(role ManyToOne(‘Role’), capability UnicodeText) | |
| Attachment(parent_type UnicodeText, parent_id Integer, version Integer, time UnixTime, filename UnicodeText, hidden Boolean, size Integer, description UnicodeText, author UnicodeText) | |
| _InstanceSetting(section UnicodeText, name UnicodeText, value UnicodeText) | |
| Harvester(signal UnicodeText, description UnicodeText) | |
| DashboardMetric(id Integer, project ManyToOne(‘Project’), name UnicodeText) | |
| DashboardValue(metric ManyToOne(‘DashboardMetric’), value Float, time UnixTime, user_name UnicodeText) | |
| Retriever(name UnicodeText, metric_name UnicodeText, html UnicodeText, config UnicodeText) | |
| Message(body UnicodeText, author UnicodeText, address UnicodeText, date UnixTime, subject UnicodeText, deleted Boolean, mid_header UnicodeText) | MailMessage(number IncrementingField, project ForeignKey(Project), user ForeignKey(User), hidden BooleanField, body TextField, subject CharField, sender CharField, date DateTimeField, headers TextField, objects Manager, visible NonHiddenManager, history AuditTrail) |
| DeletedMessage(message ManyToOne(‘Message’), name UnicodeText, time Integer, reason UnicodeText) | |
| UnconfirmedEmail(address UnicodeText, name UnicodeText, token UnicodeText) | |
| Email(address UnicodeText, name UnicodeText, forward Boolean) | UserEmail(user ForeignKey(User), address CharField, forwarding BooleanField) |
| Tag(project ManyToOne(‘Project’), parent_type UnicodeText, parent_id UnicodeText, tag UnicodeText) | |
| MilestoneChange(milestone ManyToOne(‘Milestone’), time UnixTime, author UnicodeText, field UnicodeText, oldvalue UnicodeText, newvalue UnicodeText) | |
| Milestone(name UnicodeText, due Date, completed UnixTime, description UnicodeText) | |
| Ticket(summary UnicodeText, description UnicodeText, reporter UnicodeText, owner ManyToOne(‘User’), status UnicodeText, type ManyToOne(‘Enum’), milestone ManyToOne(‘Milestone’), priority ManyToOne(‘Enum’), created UnixTime, last_modified UnixTime, comments OneToMany(‘TicketChange’)) | Ticket(subject CharField, owner ForeignKey(User), status PositiveSmallIntegerField, date_edited AutoNowField, date_created DateTimeField, description TextField, creator ForeignKey(User), project ForeignKey(Project), number IncrementingField, history AuditTrail) |
| TicketChange(ticket ManyToOne(‘Ticket’), time UnixTime, author UnicodeText, field UnicodeText, oldvalue UnicodeText, newvalue UnicodeText) | CachedChangeset(project ManyToOne(‘Project’), rev Integer, date UnixTime, author UnicodeText, message UnicodeText) |
| CachedChange(cached_changeset ManyToOne(‘CachedChangeset’), path UnicodeText, kind Unicode(1), change Unicode(1), base_path UnicodeText, base_rev UnicodeText) | |
| Repository(project ForeignKey(Project), path CharField, type CharField) | |
| Commit(GenericAuditModel)(revision IntegerField, repo ForeignKey(Repository)) | |
| Session(attributes OneToMany(‘SessionAttribute’), sid UnicodeText, ipnr UnicodeText, time UnixTime) | |
| SessionAttribute(session ManyToOne(‘Session’), name UnicodeText, value UnicodeText) | |
| WikiPage(version Integer, name UnicodeText, time UnixTime, author UnicodeText, text UnicodeText, comment UnicodeText, readonly Boolean) | WikiPage(last_editor ForeignKey(User), name CharField, slug SlugField, content TextField, date_created DateTimeField, date_edited AutoNowField, project ForeignKey(Project), comment TextField, hidden BooleanField, version, objects Manager, visible NonHiddenManager, history AuditTrail) |
| GenericAuditModel(audit_id AutoField, audit_instance_name CharField(255), audit_timestamp DateTimeField, audit_user ForeignKey(User), audit_project ForeignKey(Project), audit_change_type CharField(1), audit_object_id CharField(255), audit_object GenericForeignKey(fk=”audit_object_id”, ct=”audit_content_type”), audit_content_type ForeignKey(ContentType)) | |
| DocSection(name CharField, refid CharField, parent ForeignKey(‘DocSection’), project ForeignKey(Project), rev PositiveIntegerField, branch CharField) | |
| DocSectionOccurrence(docsection ForeignKey(DocSection), kind CharField, doc TextField, base_doc TextField, doc_block CharField, path CharField, line PositiveIntegerField, bodystart IntegerField, bodyend IntegerField, version, history AuditTrail) | |
| ProjectDocs(project ForeignKey(Project), main_branch CharField, main_page_name CharField) |
[...] Lienert posted a table last night comparing the schemas of DrProject and Basie databases. We discussed it this morning, [...]