dreadlabs/app-migration-typo3 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dreadlabs/app-migration-typo3

最新稳定版本:0.1.5

Composer 安装命令:

composer require dreadlabs/app-migration-typo3

包简介

Integrates dreadlabs/app-migration infrastructure into TYPO3.CMS.

README 文档

README

This extension integrates the dreadlabs/app-migration packages into a TYPO3.CMS instance to allow application runtime migration.

Requirements

TYPO3.CMS 7.4.x or greater

Installation

~$ composer require dreadlabs/app-migration-typo3:0.1.0

Configuration

Create a file .migrationrc in the TYPO3.CMS project root directory. The syntax corresponds to the one used in php.ini. Its content gets parsed by parse_ini_string and therefore can contain constants which will be resolved automatically. This is an example configuration with the default values:

config_file_path = PATH_site"phinx.yml"
migration_path = PATH_site"migrations/"
lock_path = PATH_site"typo3temp/"

Hint: Ensure your webserver setup blocks access to / delivery of dotfiles.

Logging

By default, logging will use FileWriter to log all migration-related stuff into typo3temp/logs/migration.log. The default log level is EMERGENCY.

If you want to override, disable or re-configure the logging, you must put the necessary configuration either into the ext_localconf.php of a dedicated extension or simply into typo3conf/AdditionalConfiguration.php.

Example #1: Increase log level sensitivity to "info"

$GLOBALS['TYPO3_CONF_VARS']['LOG']['DreadLabs']['AppMigrationTypo3']['Domain']['Logger']['writerConfiguration'] = array(
    \TYPO3\CMS\Core\Log\LogLevel::INFO => array(
        \TYPO3\CMS\Core\Log\Writer\FileWriter::class => array(
            'logFile' => 'typo3temp/logs/migration.log',
        ),
    ),
);

Note the additional Logger array key before writerConfiguration.

Example #2: Mute logging with NullWriter

$GLOBALS['TYPO3_CONF_VARS']['LOG']['DreadLabs']['AppMigrationTypo3']['Domain']['Logger']['writerConfiguration'] = array(
    \TYPO3\CMS\Core\Log\LogLevel::EMERGENCY => array(
        \TYPO3\CMS\Core\Log\Writer\NullWriter::class => array(
        ),
    ),
);

Note the additional Logger array key before writerConfiguration.

Migration low-level API

Currently, the migrator adapter dreadlabs/app-migration-migrator-phinx is used. This library come with a CLI out-of-the-box. In order to use the CLI you also have to create a phinx.yml configuration file in your project's root directory (PATH_site in a default TYPO3.CMS instance):

paths:
    migrations: %%PHINX_CONFIG_DIR%%/migrations

environments:
    default_migration_table: phinxlog

    # The naming is a bit unfortunate: it means default `environment`
    default_database: default

    default:
        adapter: mysql
        host: localhost
        name: DB_NAME
        user: DB_USERNAME
        pass: DB_PASSWORD
        port: DB_PORT
        charset: utf8

Please read the Phinx Documentation for more information.

Restrictions

Not ext:dbal ready

Migrations are currently not working if ext:dbal is loaded.

TYPO3.CMS early implementation registration

Classes instantiated in TYPO3.CMS are currently not managed by the Extbase Dependency Injection Container. While ext:extbase provides a good example how to early-register concrete implementations in its ext_localconf.php its also state as NO PUBLIC API.

While this is working currently perfectly fine, please note that the used approach may be subject to change in the future.

License

GPLv2, © 2015 Thomas Juhnke

统计信息

  • 总下载量: 259
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0
  • 更新时间: 2015-10-05