From 4417f17c7fbaa67ed5ec8eee7123d8ba87ab5baf Mon Sep 17 00:00:00 2001 From: tsdogs Date: Mon, 24 Jun 2019 22:04:49 +0200 Subject: [PATCH] First try to fix boolean defaultValue #314 --- src/User/Helper/MigrationHelper.php | 14 ++++++++++++++ .../m000000_000006_add_two_factor_fields.php | 3 ++- .../m000000_000009_add_gdpr_consent_fields.php | 5 +++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/User/Helper/MigrationHelper.php b/src/User/Helper/MigrationHelper.php index 7de2c41..2f6046b 100644 --- a/src/User/Helper/MigrationHelper.php +++ b/src/User/Helper/MigrationHelper.php @@ -71,4 +71,18 @@ class MigrationHelper { return self::resolveDbType($driverName) === 'sqlsrv'; } + + public static function getBooleanValue($driverName,$value=false) + { + switch (self::resolveDbType($driverName)) { + case 'sqlsrv': + return $value?1:0; + break; + case 'pgsql': + return $value?true:false; + break; + default: + return $value; + } + } } diff --git a/src/User/Migration/m000000_000006_add_two_factor_fields.php b/src/User/Migration/m000000_000006_add_two_factor_fields.php index 2da4dc7..4227069 100644 --- a/src/User/Migration/m000000_000006_add_two_factor_fields.php +++ b/src/User/Migration/m000000_000006_add_two_factor_fields.php @@ -12,13 +12,14 @@ namespace Da\User\Migration; use yii\db\Migration; +use Da\User\Helper\MigrationHelper; class m000000_000006_add_two_factor_fields extends Migration { public function safeUp() { $this->addColumn('{{%user}}', 'auth_tf_key', $this->string(16)); - $this->addColumn('{{%user}}', 'auth_tf_enabled', $this->boolean()->defaultValue(0)); + $this->addColumn('{{%user}}', 'auth_tf_enabled', $this->boolean()->defaultValue(MigrationHelper::getBooleanValue($this->db->driverName,false))); } public function safeDown() diff --git a/src/User/Migration/m000000_000009_add_gdpr_consent_fields.php b/src/User/Migration/m000000_000009_add_gdpr_consent_fields.php index 2cf6907..32c4c02 100644 --- a/src/User/Migration/m000000_000009_add_gdpr_consent_fields.php +++ b/src/User/Migration/m000000_000009_add_gdpr_consent_fields.php @@ -12,14 +12,15 @@ namespace Da\User\Migration; use yii\db\Migration; +use Da\User\Helper\MigrationHelper; class m000000_000009_add_gdpr_consent_fields extends Migration { public function safeUp() { - $this->addColumn('{{%user}}', 'gdpr_consent', $this->boolean()->defaultValue(false)); + $this->addColumn('{{%user}}', 'gdpr_consent', $this->boolean()->defaultValue(MigrationHelper::getBooleanValue($this->db->driverName,false))); $this->addColumn('{{%user}}', 'gdpr_consent_date', $this->integer(11)->null()); - $this->addColumn('{{%user}}', 'gdpr_deleted', $this->boolean()->defaultValue(false)); + $this->addColumn('{{%user}}', 'gdpr_deleted', $this->boolean()->defaultValue(MigrationHelper::getBooleanValue($this->db->driverName,false))); } public function safeDown()