Design+database schema
common structure: all tables have an id field-- auto increment primary key
primary tables
- cards
- name
- key
- type (sti)
- namespace_id (namespace)
- language_id (language)
- translation_id (card)
- trunk_id (card)
- tag_id (card)
- current_revision_id (revision)
- extension_id, extension_type (any)
- reader_id, reader_type (user or role)
- writer_id, writer_type (user or role)
- revisions
- card_id (card)
- created_at
- author_id (user)
- content
- card_id (card)
- events
- type (sti)
- ...
- type (sti)
- references
- type (sti?)
- referring_card_id
- referenced_card_name
- type (sti?)
extension tables
- users
- roles
- cardegories
- languages
- namespaces
messaging tables
- messages
- to_id, to_type (user or guest)
- from_id, from_type (user or guest)
- message
- created_at
- to_id, to_type (user or guest)
- guests
- ip_address
- name
- friends
- friend1_id (user)
- friend2_id (user)
- friend1_id (user)
other tables
- roles_users --track which users belong to which groups
- config -- use for configuration info (currently in wagn.rb)
- sessions -- used by rails to store session info
- schema_info --used by rails to manage migrations