Alzabo::Create::Column - Column objects for use in schema creation
TOC | Topuse Alzabo::Create::Column;
This object represents a column. It holds data specific to a column.
Additional data is held in a
Alzabo::Create::ColumnDefinition
object, which is used to allow two columns to share a type (which is
good when two columns in different tables are related as it means that
if the type of one is changed, the other is also.)
Alzabo::Column
Note: all relevant documentation from the superclass has been merged into this document.
TOC | TopThe constructor accepts the following parameters:
Alzabo::Create::Table object
Defaults to false.
Defaults to false.
If "default_is_raw" is true, then it will not be quoted when passed to
the DBMS in SQL statements. This should be used to allow a default
which is a function, like NOW().
One of either ...
... or ...
Alzabo::Create::ColumnDefinition object
An optional comment.
It returns a new Alzabo::Create::Column object.
Throws: Alzabo::Exception::Params
Returns the column's type as a string.
TOC | Top
This method allows you to change a column's type, length, and
precision as a single operation. It should be instead of calling
set_type() followed by set_length().
It takes the following parameters:
Throws: Alzabo::Exception::Params,
Alzabo::Exception::RDBMSRules
Sets the column's type.
Throws: Alzabo::Exception::Params,
Alzabo::Exception::RDBMSRules
Alzabo::Create::Table object)
Sets the Alzabo::Create::Table object in
which this column is located.
Throws: Alzabo::Exception::Params
Returns the column's name as a string.
TOC | TopSets the column's name (a string).
Throws: Alzabo::Exception::Params,
Alzabo::Exception::RDBMSRules
Returns a boolean value indicating whether or not NULLs are allowed in this column.
TOC | TopSets the nullability of the column (this determines whether nulls are allowed in the column or not). Must be 0 or 1.
Throws: Alzabo::Exception::Params
A column's attributes are strings describing the column (for example, valid attributes in MySQL are 'UNSIGNED' or 'ZEROFILL'.
This method returns a list of strings of such strings.
TOC | TopThis method can be used to test whether or not a column has a particular attribute. By default, the check is case-insensitive.
It takes the following parameters:
It returns a boolean value indicating whether or not the column has this particular attribute.
TOC | TopSets the column's attributes. These are strings describing the column (for example, valid attributes in MySQL are "PRIMARY KEY" or "AUTO_INCREMENT").
Throws: Alzabo::Exception::RDBMSRules
Add an attribute to the column's list of attributes.
Throws: Alzabo::Exception::RDBMSRules
Delete the given attribute from the column's list of attributes.
Throws: Throws: Alzabo::Exception::Params,
Alzabo::Exception::RDBMSRules
Returns the default value of the column as a string, or undef if there is no default.
TOC | TopSets the column's default value.
TOC | TopReturns the length attribute of the column, or undef if there is none.
TOC | TopReturns the precision attribute of the column, or undef if there is none.
TOC | TopThis method takes the following parameters:
This method sets the column's length and precision. The precision parameter is optional (though some column types may require it if the length is set).
Throws: Alzabo::Exception::RDBMSRules
The meaning of a sequenced column varies from one RDBMS to another. In those with sequences, it means that a sequence is created and that values for this column will be drawn from it for inserts into this table. In databases without sequences, the nearest analog for a sequence is used (in MySQL the column is given the AUTO_INCREMENT attribute, in Sybase the identity attribute).
In general, this only has meaning for the primary key column of a
table with a single column primary key. Setting the column as
sequenced means its value never has to be provided to when calling
Alzabo::Runtime::Table->insert.
Returns a boolean value indicating whether or not this column is sequenced.
TOC | TopSets the value of the column's sequenced attribute.
Throws: Alzabo::Exception::Params,
Alzabo::Exception::RDBMSRules
Returns a boolean value indicating whether or not this column is part of its table's primary key.
TOC | TopReturns a boolean value indicating whether the column is a numeric type column.
TOC | TopReturns a boolean value indicating whether the column is a character type column.
This is true only for any columns which are defined to hold text data, regardless of size.
TOC | TopReturns a boolean value indicating whether the column is a blob column.
This is true for any columns defined to hold binary data, regardless of size.
TOC | Top
The definition object is very rarely of interest. Use the
type() method if you are only interested in the column's
type.
This methods returns the
Alzabo::Create::ColumnDefinition object which
holds this column's type information.
Alzabo::Create::ColumnDefinition object)
Sets the
Alzabo::Create::ColumnDefinition
object which holds this column's type information.
If the column's name has been changed since the last time the schema was instantiated, this method returns the column's previous name.
TOC | TopReturns the comment associated with the column object, if any.
TOC | TopSet the comment for the column object.