Yii2: дамп схемы базы данных

yii2 дамп базы данных для миграцииМиграции — это достаточно удобный инструмент для работы с базой данных в процессе разработки или позже, в процессе внедрения, развертывания и обновления продукта.

Расширение 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. Подробнее об установке расширений.

1 thought on “Yii2: дамп схемы базы данных

  1. Katrin

    у вас пропущено
    Add the following in config/console.php:

    [

    ],
    ‘controllerMap’ => [
    ‘migrate’ => [
    ‘class’ => ‘yii\console\controllers\MigrateController’,
    ‘templateFile’ => ‘@jamband/schemadump/template.php’,
    ],
    ‘schemadump’ => [
    ‘class’ => ‘jamband\schemadump\SchemaDumpController’,
    ],
    ],

    ];

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *