User Tools

Site Tools


development:mysql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
development:mysql [2012/11/12 22:45] – created s0600204development:mysql [2017/05/07 11:09] (current) Lars Knickrehm
Line 1: Line 1:
-====== mySQL ======+====== MySQL ======
  
-This page is dedicated to the development of a standard way of encoding user data into a mySQL database.+This page is dedicated to the documentation of how we have encoded oneye user data into a mySQL database.
  
-For the momentthe technical details of how to connect oneye to the database are not important. What's currently being discussed is how data should be stored within the databaseThis requires the following decisions: +Any suggestionsconcerns, problems or other should be brought to light on the forums, specifically [[http://forums.oneye-project.org/viewtopic.php?id=37|in this thread]]. (To those used to MediaWiki-type wikithink of the forum page linked as the discussion page for this wiki page).
-  * What tables are required, and what they should be called +
-  * What fields are required inside those tablesand +
-    * What the fields should be named +
-    * What format the fields should be (Number, String, etc.+
-    * What length the fields should be+
  
-Please note that modifications should only be made to this page __after__ they've been discussed in [[http://forums.oneye-project.org/viewtopic.php?id=37|this thread]] on the forumsAny concerns, problems or other should be brought to light therenot here. (To those used to MediaWiki-type wiki, think of the forum page linked as the discussion page for this wiki page).+==== The Codebase ==== 
 + 
 +As with all current development on oneye, the current code for the implementation is publicly accessible on GitHubSpecifically, here: https://github.com/s0600204/oneye/tree/userConfig
  
 ==== The Database ==== ==== The Database ====
  
-The database format is mySQL. More details will be determined later.+The database format is mySQL. 
 + 
 +The method used to connect to the database from PHP is the mySQLi Extension, included by default with PHP and compatible with databases created with mySQL v4.1 and later (current stable version: v5.1). 
 + 
 +== Constants == 
 +The values of these constants will be used by oneye to connect to the database. The root user will, of course, be able to change the values. 
 +^  Constant Description  ^     Constant      Default Value  ^        Notes       | 
 +|   mySQL Server Address |   MYSQL_SERVER      127.0.0.1    |                    | 
 +|          Database Name |   MYSQL_DBNAME       oneyeDB                        | 
 +|      Database Username |  MYSQL_USERNAME  |    www-data                        | 
 +|      Database Password |  MYSQL_PASSWORD  |                  Stored encrypted  |
  
  
 ==== The Tables ==== ==== The Tables ====
  
-List of suggested tables: +List of currently implementated tables: 
-  * **tblUser** - Main table that contains user data+  * **tblUser** - Main table that contains user data
 +  * **tblGroups** - Table listing which users belong to which groups. Always checked. 
 +  * **tblMaintainedUsers** - This table lists the maintainers and their assigned users. Only checked if the //maintainer// field for a user in **tblUser** is '1'
 +  * **tblMaintainedGroups** - This table lists the maintainers and their assigned groups. Only checked if the //maintainer// field for a user in **tblUser** is '1'.
  
  
Line 26: Line 36:
  
 == tblUser == == tblUser ==
-^   Field Name      Type    ^  Length  ^  Permitted to be Null  ^  Default Value  ^  Other notes  | +^   Field Name     Type    ^  Length  ^  Permitted to be Null  ^  Default Value  ^  Other notes  | 
-|       username |   varchar  |  32      |  No                    |                  Primary Key  | +|       username |  varchar  |  32      |  No                    |                  Primary Key  | 
-|       password |    char    |  32      |  No                    |                               | +|       password |   char    |  32      |  No                    |                               | 
-|          email |   varchar  |  64      |  Yes                    NULL           |               | +|          email |  varchar  |  64      |  Yes                                   |               | 
-|          quota |  smallint           |  Yes                    NULL                         +|          quota |  integer           |  Yes                    NULL            Unsigned, NULL = 'System Default'  
-|       fullname |   varchar  |  64      |  Yes                    NULL           |               | +|       fullname |  varchar  |  64      |  Yes                                   |               | 
-|     createDate |   integer  |          |  Yes                   |  NULL                         +|     createDate |  integer  |          |  Yes                   |  0               Unsigned     | 
-| expirationDate |   integer  |          |  Yes                    0              |               +|      lastLogin |  integer  |          |  Yes                    0              |  Unsigned     
-|       disabled |    char    |  1        Yes                    0              |               | +| expirationDate |  integer  |          |  Yes                    0              |  Unsigned     
-     lastLogin |   integer  |          |  Yes                   |  NULL           |               | +|       disabled |   char    |  1        Yes                    0              |               | 
-         group |   varchar  |  128     |  Yes                   |  NULL           |               |+         admin |   char    |  1       |  Yes                   |  0              |               | 
 +    maintainer |   char    |  1       |  Yes                   |  0              |               |
  
 +== tblGroups ==
 +^  Field Name  ^   Type    ^  Length  ^  Permitted to be Null  ^  Default Value  ^  Other notes  |
 +|     username |  varchar  |    32    |  No                    |                  Primary Key  |
 +|    groupname |  varchar  |    32    |  No                    |                  Primary Key  |
 +
 +== tblMaintainedUsers ==
 +^  Field Name  ^   Type    ^  Length  ^  Permitted to be Null  ^  Default Value  ^  Other notes  |
 +|   maintainer |  varchar  |    32    |  No                    |                  Primary Key  |
 +|     username |  varchar  |    32    |  No                    |                  Primary Key  |
 +
 +== tblMaintainedGroups ==
 +^  Field Name  ^   Type    ^  Length  ^  Permitted to be Null  ^  Default Value  ^  Other notes  |
 +|   maintainer |  varchar  |    32    |  No                    |                  Primary Key  |
 +|    groupname |  varchar  |    32    |  No                    |                  Primary Key  |
  
 ==== Reference ==== ==== Reference ====
Line 45: Line 70:
 == List of field types in mySQL databases: == == List of field types in mySQL databases: ==
   * String types:   * String types:
-    * **varchar** - Variable length. Ideal storage if we don't know how long a string is going to be.+    * **varchar** - Variable length. Ideal storage if we don't know how long a string is going to be. Requires specification of a maximum length.
     * **char** - Fixed length. Ideal if a string will always be a certain length. Maximum length is 255 characters.     * **char** - Fixed length. Ideal if a string will always be a certain length. Maximum length is 255 characters.
   * Integer types: (Each has a different range of possible values)   * Integer types: (Each has a different range of possible values)
Line 62: Line 87:
   * password (hashed)   * password (hashed)
   * email   * email
-  * quota+  * quota (in bytes)
   * fullname   * fullname
   * createDate (date expressed as number of seconds since unix epoch)   * createDate (date expressed as number of seconds since unix epoch)
Line 68: Line 93:
   * disabled   * disabled
   * lastLogin (date expressed as number of seconds since unix epoch)   * lastLogin (date expressed as number of seconds since unix epoch)
-  * group (comma-separated list+  * group (there can be more than one of these
 +  * maintainer (0 or 1) 
 +  * maintain (group the user maintains) (there can be more than one of these) 
 +  * mngUser (there can be more than one of these) 
 +  * admin (0 or 1) 
 +  
development/mysql.1352756754.txt.gz · Last modified: 2016/03/07 22:55 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki