データベースマイグレーションを使ってみる(2)

昨日の続き

テーブルプレフィックス

console.php で tablePrefix を指定したとき、マイグレーションのテーブル名を「{{」「}}」で囲むと、プレフィックスつきでCREATEしてくれました。

<?php
// console.php
return array(
  'components'=>array(
    :
    'db'=>array(
      :
      'tablePrefix' => 'test_',
    ),
  ),
);
<?php
class m110720_122652_first extends CDbMigration
{
  public function up()
  {
    $this->createTable('{{tbl_news}}', array(
      'id' => 'pk',
      'title' => 'string NOT NULL',
      'content' => 'text',
    ));
  }
}

↓↓↓↓↓

CREATE TABLE test_tbl_news (....)

テーブルプレフィックス(2)

$this->execute() でもプレフィックスつきでCREATEしてくれます。

<?php
class m110720_122652_first extends CDbMigration
{
  public function up()
  {
    $this->execute(<<<SQL
CREATE TABLE `{{tbl_news}}` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;
SQL
    );
  }

↓↓↓↓↓

CREATE TABLE test_tbl_news (....)