|
- :mod:`db_schema` --- Database Schema Management Module
- ======================================================
-
- .. module:: db_schema
- :synopsis: Database Schema Management Module
-
- Syncs a database table to the `DocType` (metadata)
- *Note* This module is only used internally
-
- .. method:: updatedb(dt)
-
- Syncs a `DocType` to the table
- * creates if required
- * updates columns
- * updates indices
-
- .. method:: getcoldef(ftype, length='')
-
- converts the user defined field types (ftype) to database fieldtypes
- example: `Data` becomes `varchar(180)`
-
- Default field lengths:
-
- * 180 - Data / Select / Link / Read Only / Password
- * 14,2 - Currency
- * 14,6 - Float
-
- .. method:: updatecolumns(doctype)
-
- Updates columns from the `DocType` to the table
-
- * adds a column if new
- * changes the name if oldfieldname != fieldname
- * changes the type
-
- .. method:: updateindex(doctype)
-
- Adds / removes indices from the given doctype table
-
- .. method:: update_engine(doctype=None, engine='InnoDB')
-
- Not used: Updated the MySQL table engine
-
- .. method:: create_table(dt)
-
- Creates a table for a new doctype
-
- Standard fields of a record
- ---------------------------
-
- * `name`: ID / primary key
- * `owner`: creator of the record
- * `creation`: datetime of creation
- * `modified`: datetime of last modification
- * `modified_by` : last updating user
- * `docstatus` : Status 0 - Saved, 1 - Submitted, 2- Cancelled
- * `parent` : if child (table) record, this represents the parent record
- * `parenttype` : type of parent record (if any)
- * `parentfield` : table fieldname of parent record (if any)
- * `idx` : Index (sequence) of the child record
|