seitime-frappe/frappe/docs/current/api/model/frappe.model.db_schema.html
2015-12-04 10:22:48 +05:30

597 lines
No EOL
16 KiB
HTML

<!-- title: frappe.model.db_schema --><div class="dev-header">
<a class="btn btn-default btn-sm" disabled style="margin-bottom: 10px;">
Version 6.x.x</a>
<a class="btn btn-default btn-sm" href="https://github.com/frappe/frappe/blob/develop/frappe/model/db_schema.py"
target="_blank" style="margin-left: 10px; margin-bottom: 10px;"><i class="octicon octicon-mark-github"></i> Source</a>
</div>
<h3 style="font-weight: normal;">Class <b>DbColumn</b></h3>
<div class="docs-attr-desc"><p></p>
</div>
<div style="padding-left: 30px;">
<p class="docs-attr-name">
<a name="__init__" href="#__init__" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>__init__</b>
<i class="text-muted">(self, table, fieldname, fieldtype, length, default, set_index, options, unique, precision)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="build_for_alter_table" href="#build_for_alter_table" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>build_for_alter_table</b>
<i class="text-muted">(self, current_def)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="default_changed" href="#default_changed" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>default_changed</b>
<i class="text-muted">(self, current_def)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="default_changed_for_decimal" href="#default_changed_for_decimal" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>default_changed_for_decimal</b>
<i class="text-muted">(self, current_def)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_definition" href="#get_definition" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_definition</b>
<i class="text-muted">(self, with_default=1)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
</div>
<hr>
<h3 style="font-weight: normal;">Class <b>DbManager</b></h3>
<div class="docs-attr-desc"><p>Basically, a wrapper for oft-used mysql commands. like show tables,databases, variables etc...</p>
<h1>TODO:</h1>
<pre><code>0. Simplify / create settings for the restore database source folder
0a. Merge restore database and extract_sql(from frappe_server_tools).
1. Setter and getter for different mysql variables.
2. Setter and getter for mysql variables at global level??
</code></pre>
</div>
<div style="padding-left: 30px;">
<p class="docs-attr-name">
<a name="__init__" href="#__init__" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>__init__</b>
<i class="text-muted">(self, db)</i>
</p>
<div class="docs-attr-desc"><p>Pass root_conn here for access to all databases.</p>
</div>
<br>
<p class="docs-attr-name">
<a name="create_database" href="#create_database" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>create_database</b>
<i class="text-muted">(self, target)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="create_user" href="#create_user" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>create_user</b>
<i class="text-muted">(self, user, password, host)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="delete_user" href="#delete_user" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>delete_user</b>
<i class="text-muted">(self, target, host)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="drop_database" href="#drop_database" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>drop_database</b>
<i class="text-muted">(self, target)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="drop_table" href="#drop_table" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>drop_table</b>
<i class="text-muted">(self, table_name)</i>
</p>
<div class="docs-attr-desc"><p>drop table if exists</p>
</div>
<br>
<p class="docs-attr-name">
<a name="flush_privileges" href="#flush_privileges" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>flush_privileges</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_database_list" href="#get_database_list" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_database_list</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p>get list of databases</p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_table_schema" href="#get_table_schema" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_table_schema</b>
<i class="text-muted">(self, table)</i>
</p>
<div class="docs-attr-desc"><p>Just returns the output of Desc tables.</p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_tables_list" href="#get_tables_list" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_tables_list</b>
<i class="text-muted">(self, target=None)</i>
</p>
<div class="docs-attr-desc"><p>get list of tables</p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_variables" href="#get_variables" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_variables</b>
<i class="text-muted">(self, regex)</i>
</p>
<div class="docs-attr-desc"><p>Get variables that match the passed pattern regex</p>
</div>
<br>
<p class="docs-attr-name">
<a name="grant_all_privileges" href="#grant_all_privileges" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>grant_all_privileges</b>
<i class="text-muted">(self, target, user, host)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="grant_select_privilges" href="#grant_select_privilges" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>grant_select_privilges</b>
<i class="text-muted">(self, db, table, user, host)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="restore_database" href="#restore_database" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>restore_database</b>
<i class="text-muted">(self, target, source, user, password)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
</div>
<hr>
<h3 style="font-weight: normal;">Class <b>DbTable</b></h3>
<div class="docs-attr-desc"><p></p>
</div>
<div style="padding-left: 30px;">
<p class="docs-attr-name">
<a name="__init__" href="#__init__" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>__init__</b>
<i class="text-muted">(self, doctype, prefix=tab)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="alter" href="#alter" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>alter</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="create" href="#create" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>create</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="drop_foreign_keys" href="#drop_foreign_keys" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>drop_foreign_keys</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_column_definitions" href="#get_column_definitions" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_column_definitions</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_columns_from_db" href="#get_columns_from_db" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_columns_from_db</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_columns_from_docfields" href="#get_columns_from_docfields" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_columns_from_docfields</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p>get columns from docfields and custom fields</p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_foreign_keys" href="#get_foreign_keys" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_foreign_keys</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="get_index_definitions" href="#get_index_definitions" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>get_index_definitions</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="is_new" href="#is_new" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>is_new</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="sync" href="#sync" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>sync</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="validate" href="#validate" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
<b>validate</b>
<i class="text-muted">(self)</i>
</p>
<div class="docs-attr-desc"><p>Check if change in varchar length isn't truncating the columns</p>
</div>
<br>
</div>
<hr>
<h3 style="font-weight: normal;">Class <b>InvalidColumnName</b></h3>
<p style="padding-left: 30px;"><i>Inherits from frappe.exceptions.ValidationError</i></h4>
<div class="docs-attr-desc"><p></p>
</div>
<div style="padding-left: 30px;">
</div>
<hr>
<p class="docs-attr-name">
<a name="frappe.model.db_schema.add_column" href="#frappe.model.db_schema.add_column" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.model.db_schema.<b>add_column</b>
<i class="text-muted">(doctype, column_name, fieldtype, precision=None)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.model.db_schema.get_definition" href="#frappe.model.db_schema.get_definition" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.model.db_schema.<b>get_definition</b>
<i class="text-muted">(fieldtype, precision=None, length=None)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.model.db_schema.remove_all_foreign_keys" href="#frappe.model.db_schema.remove_all_foreign_keys" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.model.db_schema.<b>remove_all_foreign_keys</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.model.db_schema.updatedb" href="#frappe.model.db_schema.updatedb" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.model.db_schema.<b>updatedb</b>
<i class="text-muted">(dt)</i>
</p>
<div class="docs-attr-desc"><p>Syncs a <code>DocType</code> to the table
* creates if required
* updates columns
* updates indices</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.model.db_schema.validate_column_name" href="#frappe.model.db_schema.validate_column_name" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.model.db_schema.<b>validate_column_name</b>
<i class="text-muted">(n)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<!-- autodoc -->