2007-06-13 02:18:21 +04:00
|
|
|
Doctrine offers various table options. All table options can be set via {{Doctrine_Record::option($optionName, $value)}}.
|
|
|
|
|
|
|
|
For example if you are using MySQL and want to use INNODB tables it can be done as follows:
|
|
|
|
|
|
|
|
<code type="php">
|
|
|
|
class MyInnoDbRecord extends Doctrine_Record
|
|
|
|
{
|
|
|
|
public function setTableDefinition()
|
|
|
|
{
|
|
|
|
$this->hasColumn('name', 'string');
|
|
|
|
|
|
|
|
$this->option('type', 'INNODB');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</code>
|
|
|
|
|
|
|
|
In the following example we set the collate and character set options:
|
|
|
|
|
|
|
|
<code type="php">
|
|
|
|
class MyCustomOptionRecord extends Doctrine_Record
|
|
|
|
{
|
|
|
|
public function setTableDefinition()
|
|
|
|
{
|
|
|
|
$this->hasColumn('name', 'string');
|
|
|
|
|
|
|
|
$this->option('collate', 'utf8_unicode_ci');
|
|
|
|
$this->option('charset', 'utf8');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</code>
|
2007-08-27 19:10:36 +04:00
|
|
|
|
|
|
|
Doctrine offers the ability to turn off foreign key constraints for specific Models.
|
|
|
|
|
|
|
|
<code type="php">
|
|
|
|
class MyCustomOptionRecord extends Doctrine_Record
|
|
|
|
{
|
|
|
|
public function setTableDefinition()
|
|
|
|
{
|
|
|
|
$this->hasColumn('name', 'string');
|
|
|
|
|
2007-08-30 01:53:41 +04:00
|
|
|
$this->setAttribute(Doctrine::ATTR_EXPORT, Doctrine::EXPORT_ALL ^ Doctrine::EXPORT_CONSTRAINTS);
|
2007-08-27 19:10:36 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</code>
|