Jump to: navigation, search

Difference between revisions of "Designate/Blueprints/Records Table Redesign"

(A_Records Table)
(A_Records Table)
Line 67: Line 67:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Header text !! Header text !! Header text !! Header text !! Header text
+
! Name !! Data Type !! Length !! Nullable !! Details
 
|-
 
|-
 
| Example || Example || Example || Example || Example
 
| Example || Example || Example || Example || Example

Revision as of 16:40, 20 March 2014

Overview

Gerrit Patch []
Launchpad Blueprint [1]

This blueprint proposes to subdivide the Records table, which includes all record types, into a table per record type. For instance, an "a_records" table for A records, "mx_records" table for MX records, and so on.

At this time, the migration of data from the existing Records table to the new separate tables is not included in this specification document.

Database Schema Changes - WIP

The existing Records table would become obsolete and be replaced with new tables for each record type.

Existing Tables

Records Table

Name Data Type Length Nullable Details
id CHAR 32 False Primary Key, Generated UUID
created_at DATETIME - True UTC time of creation
updated_at DATETIME - True UTC time of last update
version INTEGER 11 False Designate API version
data MEDIUMTEXT - False Data unique to a specific record
priority INTEGER 11 True Priority value for certain types of records
domain_id CHAR 32 False Non-unique Key, Domain ID
managed TINYINT 1 True Boolean value indicates a managed resource
managed_resource_type VARCHAR 50 True Managed resource type
managed_resource_id CHAR 32 True Managed resource id
managed_plugin_name VARCHAR 50 True Managed plugin name
managed_plugin_type VARCHAR 50 True Managed plugin type
hash VARCHAR 32 False Unique Key, Hash value of record
description VARCHAR 160 True Description of record
status ENUM("Active", "Pending", "Deleted") - False Record status
tenant_id VARCHAR 36 True ID of record owner
recordset_id CHAR 32 False Non-unique Key, ID of recordset
managed_tenant_id CHAR 32 True ID of managed owner
managed_resource_region VARCHAR 100 True Region of managed
managed_extra VARCHAR 100 True Extra field

New Tables

A_Records Table

Name Data Type Length Nullable Details
Example Example Example Example Example
Example Example Example Example Example
Example Example Example Example Example
Example Example Example Example Example
Example Example Example Example Example