Yii2: Big problem with migrate function

Created on 7 Feb 2014  Â·  16Comments  Â·  Source: yiisoft/yii2

Hi,

In your framework, you've a very big problem with the migrate command.

When i make a migrate command, i've this exception :
MacBook-Pro-de-Lionel:~ lionel$ /Users/lionel/Site/yii2-advanced/yii migrate
Yii Migration Tool (based on Yii v2.0.0-dev)

exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Connection.php:355
Stack trace:
#0 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Connection.php(355): PDO->__construct('mysql:host=loca...', 'root', 'root', NULL)
#1 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Connection.php(311): yii\db\Connection->createPdoInstance()
#2 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Connection.php(385): yii\db\Connection->open()
#3 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(188): yii\db\Connection->createCommand('SHOW FULL COLUM...')
#4 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(93): yii\db\mysql\Schema->findColumns(Object(yii\db\TableSchema))
#5 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Schema.php(114): yii\db\mysql\Schema->loadTableSchema('tbl_migration')
#6 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(577): yii\db\Schema->getTableSchema('{{%migration}}', true)
#7 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(617): yii\console\controllers\MigrateController->getMigrationHistory(-1)
#8 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(153): yii\console\controllers\MigrateController->getNewMigrations()
#9 [internal function]: yii\console\controllers\MigrateController->actionUp(0)
#10 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/InlineAction.php(53): call_user_func_array(Array, Array)
#11 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/Controller.php(128): yii\base\InlineAction->runWithParams(Array)
#12 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/Controller.php(82): yii\base\Controller->runAction('', Array)
#13 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/Module.php(586): yii\console\Controller->runAction('', Array)
#14 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/Application.php(131): yii\base\Module->runAction('migrate', Array)
#15 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/Application.php(99): yii\console\Application->runAction('migrate', Array)
#16 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/Application.php(289): yii\console\Application->handleRequest(Object(yii\console\Request))
#17 /Users/lionel/Site/yii2-advanced/yii(30): yii\base\Application->run()
#18 {main}

Next exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory' in /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Connection.php:316
Stack trace:
#0 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Connection.php(385): yii\db\Connection->open()
#1 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(188): yii\db\Connection->createCommand('SHOW FULL COLUM...')
#2 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(93): yii\db\mysql\Schema->findColumns(Object(yii\db\TableSchema))
#3 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/db/Schema.php(114): yii\db\mysql\Schema->loadTableSchema('tbl_migration')
#4 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(577): yii\db\Schema->getTableSchema('{{%migration}}', true)
#5 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(617): yii\console\controllers\MigrateController->getMigrationHistory(-1)
#6 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(153): yii\console\controllers\MigrateController->getNewMigrations()
#7 [internal function]: yii\console\controllers\MigrateController->actionUp(0)
#8 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/InlineAction.php(53): call_user_func_array(Array, Array)
#9 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/Controller.php(128): yii\base\InlineAction->runWithParams(Array)
#10 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/Controller.php(82): yii\base\Controller->runAction('', Array)
#11 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/Module.php(586): yii\console\Controller->runAction('', Array)
#12 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/Application.php(131): yii\base\Module->runAction('migrate', Array)
#13 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/console/Application.php(99): yii\console\Application->runAction('migrate', Array)
#14 /Users/lionel/Site/yii2-advanced/vendor/yiisoft/yii2/base/Application.php(289): yii\console\Application->handleRequest(Object(yii\console\Request))
#15 /Users/lionel/Site/yii2-advanced/yii(30): yii\base\Application->run()
#16 {main}

Additional Information:

Please correct this problem to i can test your dev application

Thank you for your quickly answer
Lionel

Most helpful comment

It's not Yii issue but MySQL configuration. Try "127.0.0.1" instead of "localhost" in DB connection string. In some cases it helps.

All 16 comments

It's not Yii issue but MySQL configuration. Try "127.0.0.1" instead of "localhost" in DB connection string. In some cases it helps.

Thank for your answer, but the problem is always present with 127.0.0.1.

Why can i do to fix this bug ?

Le 7 févr. 2014 à 10:03, Alexander Makarov [email protected] a écrit :

It's not Yii issue but MySQL configuration. Try "127.0.0.1" instead of "localhost" in DB connection string. In some cases it helps.

—
Reply to this email directly or view it on GitHub.

Again, it's not a bug but MySQL configuration issue. Google for the error message SQLSTATE[HY000] [2002] No such file or directory and it will give you many different solutions.

Yes, but why it’s functional on all my sites, but only under Yii2, this is not functional ???

Under Yii 1.1 I’ve no problem.

I can’t understand sorry.

Thank for your answer and help.
Lionel

Le 7 févr. 2014 à 10:42, Alexander Makarov [email protected] a écrit :

Again, it's not a bug but MySQL configuration issue. Google for the error message SQLSTATE[HY000] [2002] No such file or directory and it will give you many different solutions.

—
Reply to this email directly or view it on GitHub.

Ok, it’s a bug with mamp and CLI.

Here is a solution at this problem : http://www.reecefowell.com/2012/07/21/symfony2-cli-does-not-connect-to-mysql-while-browser-works-fine/

Thand and good developing

Le 7 févr. 2014 à 10:42, Alexander Makarov [email protected] a écrit :

Again, it's not a bug but MySQL configuration issue. Google for the error message SQLSTATE[HY000] [2002] No such file or directory and it will give you many different solutions.

—
Reply to this email directly or view it on GitHub.

Thanks @samdark , it works!

Thank you @samdark!

Thanks for showing way everyone ... Also you can go to. localhost/phpmyadmin/ then user accounts. there you can see your credentials e.g database,username and password .and put them in main-local file ....
capture

Thank you @samdark it saved a lot of my time.

Yii Migration Tool (based on Yii v2.0.11)

Exception 'yii\db\Exception' with message 'could not find driver'

in /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php:568

Stack trace:

0 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php(896): yii\db\Connection->open()

1 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php(883): yii\db\Connection->getMasterPdo()

2 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(219): yii\db\Connection->getSlavePdo()

3 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(896): yii\db\Command->prepare(true)

4 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(362): yii\db\Command->queryInternal('fetchAll', NULL)

5 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(199): yii\db\Command->queryAll()

6 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(98): yii\db\mysql\Schema->findColumns(Object(yii\db\TableSchema))

7 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Schema.php(152): yii\db\mysql\Schema->loadTableSchema('migration')

8 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(199): yii\db\Schema->getTableSchema('{{%migration}}', true)

9 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(774): yii\console\controllers\MigrateController->getMigrationHistory(NULL)

10 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(138): yii\console\controllers\BaseMigrateController->getNewMigrations()

11 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)

12 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)

13 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Controller.php(156): yii\base\InlineAction->runWithParams(Array)

14 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Controller.php(128): yii\base\Controller->runAction('', Array)

15 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Module.php(523): yii\console\Controller->runAction('', Array)

16 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('migrate', Array)

17 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('migrate', Array)

18 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Application.php(380): yii\console\Application->handleRequest(Object(yii\console\Request))

19 /opt/lampp/htdocs/advanced/yii(27): yii\base\Application->run()

20 {main}

please help me, i can't fix problem,

my os is ubuntu 16.04

apt-get install php7.0-mysql for PHP 7.0

It's does'nt work :(

Its fix , thank you :)

how?

I have the same Problem. How you fix it?

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
remove comment from these three line(by removing ;) in your php configuration file.
my problem has been solved by doing this.

Was this page helpful?
0 / 5 - 0 ratings