Yii: CDbException "с сообщением" CDbCo mmand не удалось выполнить инструкцию SQL: CDbCommand не удалось подготовить инструкцию SQL
Я новичок в Yii и попытался настроить базу данных с помощью команды "yiic migrate".
Моя миграция выглядит так:
<?php
class m140131_054313_crear_base_de_datos extends CDbMigration
{
public function up()
{
$this->createTable('tbl_proveedor', array(
'id' => 'pk',
'nombre' => 'string NOT NULL',
'telefono' => 'text NULL',
'direccion' => 'text DEFAULT NULL',
'pagina' => 'text DEFAULT NULL',
'fecha_ingreso' => 'datetime DEFAULT NULL',
'usuario_creacion' => 'int(11) DEFAULT NULL',
), 'ENGINE=InnoDB');
}
...
Но я получаю эту ошибку в приглашении:
Yii Migration Tool v1.0 (based on Yii v1.1.14)
Total 1 new migration to be applied:
m140131_054313_crear_base_de_datos
Apply the above migration? (yes|no) [no]:y
*** applying m140131_054313_crear_base_de_datos
> create table tbl_proveedor ...exception 'CDbException' with message 'CDbCo
mmand failed to execute the SQL statement: CDbCommand failed to prepare the SQL
statement: SQLSTATE[HY000]: General error: 1 near "ENGINE": syntax error. The SQ
L statement executed was: CREATE TABLE 'tbl_proveedor' (
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
"nombre" varchar(255) NOT NULL,
"telefono" text NULL,
"direccion" text DEFAULT NULL,
"pagina" text DEFAULT NULL,
"fecha_ingreso" datetime DEFAULT NULL,
"usuario_creacion" int(11) DEFAULT NULL
) ENGINE=InnoDB' in C:\xampp\htdocs\yii\framework\db\CDbCommand.php:358
...
Есть ли у вас предложения?
Большое спасибо.
1 ответ
Решение
Эта миграция применяется на SQLite
базы данных, и там движок не является языковой конструкцией.
Возможно, вы ошиблись в том, что у вас разные настройки для консольных приложений, которые ссылаются на сгенерированную базу данных SQLite.
Убедитесь, что в консоли есть что-то вроде:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=databasename',
'emulatePrepare' => true,
'username' => 'root',
'password' => 'ur password',
'charset' => 'utf8',
),