dmstr/yii2-db

Database extensions

Maintainers

Details

github.com/dmstr/yii2-db

Source

Issues

Installs: 158 783

Dependents: 10

Suggesters: 0

Security: 0

Stars: 17

Watchers: 9

Forks: 11

Open Issues: 1

Type:yii2-extension


README

Latest Stable Version Total Downloads License

About

dmstr\db\behaviors\HydratedAttributes

Retrieves all eager loaded attributes of a model including relations. Once the extension is installed, simply use it in your code by accessing the corresponding classes by their full namespaced path.

dmstr\db\mysql\FileMigration

runs database migrations from sql files

Installation

The preferred way to install this extension is through composer.

Either run

composer require --prefer-dist dmstr/yii2-db "*"

or add

"dmstr/yii2-db": "*"

to the require section of your composer.json file.

Configuration

dmstr\console\controllers

Include it in your console configuration

   'controllerMap' => [
        'db'         => [
            'class' => 'dmstr\console\controllers\MysqlController',
            'noDataTables' => [
                'app_log',
                'app_session',
            ]
        ],
    ],

Usage

Commands

yii migrate ...

Create a file migration class

yii migrate/create \
    --templateFile='@vendor/dmstr/yii2-db/db/mysql/templates/file-migration.php' init_dump

yii db ...

DESCRIPTION

MySQL database maintenance command for current (db) connection


SUB-COMMANDS

- db/create               Create schema
- db/destroy              Remove schema
- db/dump                 Dump schema (all tables)
- db/export               Export tables (INSERT only)
- db/import               Import from file to database and flush cache
- db/index (default)      Displays tables in database
- db/wait-for-connection

To see the detailed information about individual sub-commands, enter:

  yii help <sub-command>

Show help

yii help db

Examples

Dry-run command (not available for all commands)

yii db/create root secret -n

Destroy database

yii db/destroy root secret

Dump all tables

yii db/dump -o /dumps

Dump from different connection, exclude logging tables

yii db/dump -o /dumps \
  --db=dbReadonly \
  --noDataTables=app_audit_data,app_audit_entry,app_audit_error,app_audit_javascript,app_audit_mail

Dump from secondary connection, import into primary (default)

yii db/dump -o /dumps   \
    --db=dbReadonly   \
    --noDataTables=app_audit_data,app_audit_entry,app_audit_error,app_audit_javascript,app_audit_mail \
 | xargs yii db/import --interactive=0

Built by dmstr