From b4b2c7e5e2eadd48b344538823dcf5645939ba44 Mon Sep 17 00:00:00 2001 From: rojaro <> Date: Mon, 13 Jul 2009 13:56:07 +0000 Subject: - removed old schema directory - some cleanups --- framework/Db/schema/sqlite/TSqliteSchema.php | 134 --------------------------- 1 file changed, 134 deletions(-) delete mode 100755 framework/Db/schema/sqlite/TSqliteSchema.php (limited to 'framework/Db/schema/sqlite/TSqliteSchema.php') diff --git a/framework/Db/schema/sqlite/TSqliteSchema.php b/framework/Db/schema/sqlite/TSqliteSchema.php deleted file mode 100755 index 1c6ba78f..00000000 --- a/framework/Db/schema/sqlite/TSqliteSchema.php +++ /dev/null @@ -1,134 +0,0 @@ - - * @link http://www.yiiframework.com/ - * @copyright Copyright © 2008-2009 Yii Software LLC - * @license http://www.yiiframework.com/license/ - */ - -prado::using('System.db.schema.TDbSchema'); -prado::using('System.db.schema.TDbTableSchema'); -prado::using('System.db.schema.sqlite.TSqliteColumnSchema'); -prado::using('System.db.schema.sqlite.TSqliteCommandBuilder'); - -/** - * TSqliteSchema is the class for retrieving metadata information from a SQLite (2/3) database. - * - * @author Qiang Xue - * @version $Id$ - * @package system.db.schema.sqlite - * @since 1.0 - */ -class TSqliteSchema extends TDbSchema -{ - /** - * Returns all table names in the database. - * @param string the schema of the tables. This is not used for sqlite database. - * @return array all table names in the database. - * @since 1.0.2 - */ - protected function findTableNames($schema='') - { - $sql="SELECT DISTINCT tbl_name FROM sqlite_master WHERE tbl_name<>'sqlite_sequence'"; - return $this->getDbConnection()->createCommand($sql)->queryColumn(); - } - - /** - * Creates a command builder for the database. - * @return TSqliteCommandBuilder command builder instance - */ - protected function createCommandBuilder() - { - return new TSqliteCommandBuilder($this); - } - - /** - * Creates a table instance representing the metadata for the named table. - * @return TDbTableSchema driver dependent table metadata. Null if the table does not exist. - */ - protected function createTable($name) - { - $db=$this->getDbConnection(); - - $table=new TDbTableSchema; - $table->name=$name; - $table->rawName=$this->quoteTableName($name); - - if($this->findColumns($table)) - { - $this->findConstraints($table); - return $table; - } - else - return null; - } - - /** - * Collects the table column metadata. - * @param TDbTableSchema the table metadata - * @return boolean whether the table exists in the database - */ - protected function findColumns($table) - { - $sql="PRAGMA table_info({$table->rawName})"; - $columns=$this->getDbConnection()->createCommand($sql)->queryAll(); - if(empty($columns)) - return false; - - foreach($columns as $column) - { - $c=$this->createColumn($column); - $table->columns[$c->name]=$c; - if($c->isPrimaryKey) - { - if($table->primaryKey===null) - $table->primaryKey=$c->name; - else if(is_string($table->primaryKey)) - $table->primaryKey=array($table->primaryKey,$c->name); - else - $table->primaryKey[]=$c->name; - } - } - if(is_string($table->primaryKey) && !strncasecmp($table->columns[$table->primaryKey]->dbType,'int',3)) - $table->sequenceName=''; - - return true; - } - - /** - * Collects the foreign key column details for the given table. - * @param TDbTableSchema the table metadata - */ - protected function findConstraints($table) - { - $foreignKeys=array(); - $sql="PRAGMA foreign_key_list({$table->rawName})"; - $keys=$this->getDbConnection()->createCommand($sql)->queryAll(); - foreach($keys as $key) - { - $column=$table->columns[$key['from']]; - $column->isForeignKey=true; - $foreignKeys[$key['from']]=array($key['table'],$key['to']); - } - $table->foreignKeys=$foreignKeys; - } - - /** - * Creates a table column. - * @param array column metadata - * @return TDbColumnSchema normalized column metadata - */ - protected function createColumn($column) - { - $c=new TSqliteColumnSchema; - $c->name=$column['name']; - $c->rawName=$this->quoteColumnName($c->name); - $c->allowNull=!$column['notnull']; - $c->isPrimaryKey=$column['pk']!=0; - $c->isForeignKey=false; - $c->init(strtolower($column['type']),$column['dflt_value']); - return $c; - } -} -- cgit v1.2.3