Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There are an error at migrations #36

Closed
TheElk2 opened this issue Apr 19, 2017 · 2 comments
Closed

There are an error at migrations #36

TheElk2 opened this issue Apr 19, 2017 · 2 comments

Comments

@TheElk2
Copy link

TheElk2 commented Apr 19, 2017

php yii migrate --migrationPath=@zhuravljov/yii/queue/db/migrations

There are two migrations, choose yes. Then...

Error:
PHP Fatal error: Class 'M161119140200Queue' not found in /home/admin/web/site.ru/public_shtml/vendor/yiisoft/yii2/console/controllers/MigrateController.php

Yii 2.0.11.2

@TheElk2 TheElk2 changed the title At migrations there are error There are an error at migrations Apr 19, 2017
@zhuravljov
Copy link
Member

Тут проблема не в расширении. На данный момент yii2 предлагает два способа настроить миграции для своих приложений. Первый, когда путь к миграциям указывается через migrationPath, и, при этом, классы миграций должны находиться в корневом неймспейсе. Второй, который доступен начиная с 2.0.10, дает возможность настроить несколько источников через migrationNamespaces, но он требует чтобы и миграции находились в неймспейсах.

Я выбрал второй. Он лучше подходит для оформления миграций на стороне расширения. В приложении конфиг для нескольких источников может выглядеть так:

    'controllerMap' => [
        'migrate' => [
            'class' => \yii\console\controllers\MigrateController::class,
            'migrationPath' => null,
            'migrationNamespaces' => [
                'app\migrations',
                'zhuravljov\yii\queue\db\migrations',
            ],
        ],
    ],

Если вы у себя в проекте используете migrationPath, то решить вопрос можно через наследование. На каждую миграцию расширения нужно создать свою:

class m161119_140200_queue extends \zhuravljov\yii\queue\db\migrations\M161119140200Queue {}

@TheElk2
Copy link
Author

TheElk2 commented Apr 20, 2017

Спасибо! Не знал, буду использовать второй вариант теперь 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants