TaoLer/vendor/topthink/think-migration/phinx/Config/FeatureFlags.php
2024-04-01 10:04:16 +08:00

42 lines
1.1 KiB
PHP

<?php
/**
* MIT License
* For full license information, please view the LICENSE file that was distributed with this source code.
*/
namespace Phinx\Config;
/**
* Class to hold features flags to toggle breaking changes in Phinx.
*
* New flags should be added very sparingly.
*/
class FeatureFlags
{
/**
* @var bool Should Phinx create unsigned primary keys by default?
*/
public static $unsignedPrimaryKeys = true;
/**
* @var bool Should Phinx create columns NULL by default?
*/
public static $columnNullDefault = true;
/**
* Set the feature flags from the `feature_flags` section of the overall
* config.
*
* @param array $config The `feature_flags` section of the config
*/
public static function setFlagsFromConfig(array $config): void
{
if (isset($config['unsigned_primary_keys'])) {
self::$unsignedPrimaryKeys = (bool)$config['unsigned_primary_keys'];
}
if (isset($config['column_null_default'])) {
self::$columnNullDefault = (bool)$config['column_null_default'];
}
}
}