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)

One Response to “DrProject Basie Model Map”

  1. [...] Lienert posted a table last night comparing the schemas of DrProject and Basie databases.  We discussed it this morning, [...]

Leave a Reply