PDA

View Full Version : migration در yii (حل شد)



saba_kamali
شنبه 17 آبان 1393, 00:22 صبح
سلام من تازه دارم با مفهوم migration در yii آشنا میشم بعد از اینکه با دستور php yiic migrate create create_news_table یه فایل migration ساختم
توی تابع up دستورات اسکیوال برای ساخت جدول رونوشتم حالا وقتی دستورphp yiic migrate up را وارد میکنم با خطای زیر مواجه میشم ممنون میشم اگه کسی میدونه مشکل چیه راهنماییم کنه

C:\Users>cd C:\xampp\htdocs\Yii Project\migration\protected

C:\xampp\htdocs\Yii Project\migration\protected>php yiic migrate up

Yii Migration Tool v1.0 (based on Yii v1.1.13)

Total 1 new migration to be applied:
m141107_194416_create_project_table

Apply the above migration? (yes|no) [no]:yes
*** applying m141107_194416_create_project_table
> create table tbl_project ...exception 'CDbException' with message 'CDbComm
and failed to execute the SQL statement: CDbCommand failed to prepare the SQL st
atement: SQLSTATE[HY000]: General error: 1 near "ENGINE": syntax error. The SQL
statement executed was: CREATE TABLE 'tbl_project' (
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
"name" varchar(255) NOT NULL,
"description" text NOT NULL,
"create_time" datetime DEFAULT NULL,
"create_user_id" int(11) DEFAULT NULL,
"update_time" datetime DEFAULT NULL,
"update_user_id" int(11) DEFAULT NULL
) ENGINE=InnoDB' in C:\xampp\htdocs\framework\db\CDbCommand.php:357
Stack trace:
#0 C:\xampp\htdocs\framework\db\CDbCommand.php(1321): CDbCommand->execute()
#1 C:\xampp\htdocs\framework\db\CDbMigration.php(228) : CDbCommand->createTable('
tbl_project', Array, 'ENGINE=InnoDB')
#2 C:\xampp\htdocs\Yii Project\migration\protected\migrations\m141107_194 416_cre
ate_project_table.php(15): CDbMigration->createTable('tbl_project', Array, 'ENGI
NE=InnoDB')
#3 C:\xampp\htdocs\framework\cli\commands\MigrateComm and.php(385): m141107_19441
6_create_project_table->up()
#4 C:\xampp\htdocs\framework\cli\commands\MigrateComm and.php(109): MigrateComman
d->migrateUp('m141107_194416_...')
#5 [internal function]: MigrateCommand->actionUp(Array)
#6 C:\xampp\htdocs\framework\console\CConsoleCommand. php(172): ReflectionMethod-
>invokeArgs(Object(MigrateCommand), Array)
#7 C:\xampp\htdocs\framework\console\CConsoleCommandR unner.php(67): CConsoleComm
and->run(Array)
#8 C:\xampp\htdocs\framework\console\CConsoleApplicat ion.php(91): CConsoleComman
dRunner->run(Array)
#9 C:\xampp\htdocs\framework\base\CApplication.php(16 9): CConsoleApplication->pr
ocessRequest()
#10 C:\xampp\htdocs\framework\yiic.php(33): CApplication->run()
#11 C:\xampp\htdocs\Yii Project\migration\protected\yiic.php(7): require_once('C
:\xampp\htdocs...')
#12 C:\xampp\htdocs\Yii Project\migration\protected\yiic(4): require_once('C:\xa
mpp\htdocs...')
#13 {main}

Tarragon
شنبه 17 آبان 1393, 06:21 صبح
سلام
فایل migration برای create_project_table رو قرار بدید.
با این حال احتمالا مشکل از 'ENGINE=INNODB' هستش.
اینو به 'Engine=InnoDB' تغییر بدید ببینید درست می شه یا نه.

saba_kamali
شنبه 17 آبان 1393, 08:24 صبح
سلام

این کار رو هم انجام دادم ولی درست نشد

DR.HTML
شنبه 17 آبان 1393, 09:53 صبح
معمولا وقتی این ارور میاد مشکلی توی درست نوشتن کلمات هست شما کد php رو بزار که بگیم مشکل کجاست

desatir7316
شنبه 17 آبان 1393, 10:54 صبح
http://barnamenevis.org/showthread.php?469785-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-migration-%28%D8%AD%D9%84-%D8%B4%D8%AF%29

saba_kamali
یک شنبه 18 آبان 1393, 08:19 صبح
http://barnamenevis.org/showthread.php?469785-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-migration-%28%D8%AD%D9%84-%D8%B4%D8%AF%29

خیلی ممنون مشکل حل شد:لبخندساده: