yiiapi/tests/framework/db/schema/CMysql2Test.php
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
Yii::import('system.db.CDbConnection');
Yii::import('system.db.schema.mysql.CMysqlSchema');
class CMysql2Test extends CTestCase
{
/**
* @var CDbConnection
*/
private $db;
public function setUp()
{
if(!extension_loaded('pdo') || !extension_loaded('pdo_mysql'))
$this->markTestSkipped('PDO and MySQL extensions are required.');
$this->db=new CDbConnection('mysql:host=127.0.0.1;dbname=yii','test','test');
$this->db->charset='UTF8';
try
{
$this->db->active=true;
}
catch(Exception $e)
{
$schemaFile=realpath(dirname(__FILE__).'/../data/mysql.sql');
$this->markTestSkipped("Please read $schemaFile for details on setting up the test environment for MySQL test case.");
}
$tables=array('comments','post_category','posts','categories','profiles','users','items','orders','types');
foreach($tables as $table)
$this->db->createCommand("DROP TABLE IF EXISTS $table CASCADE")->execute();
$sqls=file_get_contents(dirname(__FILE__).'/../data/mysql.sql');
foreach(explode(';',$sqls) as $sql)
{
if(trim($sql)!=='')
$this->db->createCommand($sql)->execute();
}
}
public function tearDown()
{
$this->db->active=false;
}
public function testCreateTable()
{
$sql=$this->db->schema->createTable('test',array(
'id'=>'pk',
'name'=>'string not null',
'desc'=>'text',
'primary key (id, name)',
),'Engine=InnoDB');
$expect="CREATE TABLE `test` (\n"
. "\t`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,\n"
. "\t`name` varchar(255) not null,\n"
. "\t`desc` text,\n"
. "\tprimary key (id, name)\n"
后面还有 105 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
