Миграции — это достаточно удобный инструмент для работы с базой данных в процессе разработки или позже, в процессе внедрения, развертывания и обновления продукта.
Расширение jamband/yii2-schemadump представляет удобную возможность генерации схемы для файлов миграции.
Пример использования:
cd /path/to/project ./yii schemadump <имя_базы_данных>
Пример вывода:
// user $this->createTable('{{%user}}', [ 'id' => Schema::TYPE_PK . " COMMENT 'Уникальный ключ'", 'username' => Schema::TYPE_STRING . "(255) NOT NULL COMMENT 'Имя пользователя'", 'email' => Schema::TYPE_STRING . "(255) NOT NULL COMMENT 'Электронная почта'", 'password' => Schema::TYPE_STRING . "(255) NOT NULL COMMENT 'Пароль пользователя'", ], $this->tableOptions);
Команды
Генерация кода для создания таблицы
./yii schemadump <existing_database_name> ./yii schemadump/create <existing_database_name>
Генерирует код удаления таблицы
./yii schemadump/drop <existing_database_name>
Полезные команды для OS X
./yii schemadump <existing_database_name> | pbcopy ./yii schemadump/drop <existing_database_name> | pbcopy
Помощь
./yii help schemadump
Возможности
- Types
- Size
- Unsigned
- NOT NULL
- DEFAULT value
- COMMENT
- Foreign key
- Composite primary keys
- Primary key without AUTO_INCREMENT
- ENUM type (for MySQL)
Установка
Для установки достаточно выполнить команду:
php composer.phar require --dev --prefer-dist jamband/yii2-schemadump "*"
или добавить строку
"jamband/yii2-schemadump": "*"
в файл composer.json. Подробнее об установке расширений.
у вас пропущено
Add the following in config/console.php:
[
…
],
‘controllerMap’ => [
‘migrate’ => [
‘class’ => ‘yii\console\controllers\MigrateController’,
‘templateFile’ => ‘@jamband/schemadump/template.php’,
],
‘schemadump’ => [
‘class’ => ‘jamband\schemadump\SchemaDumpController’,
],
],
…
];