$string = 'User name';
$default = null;
Simply from my traits ,
self::integer()->comment($string)->defaultValue($default)
$ stringは 'word'で、$ defaultは現在 'NULL'です。 私は/yiisoft/yii2/db/からSchemaBuilderTraitを拡張しました。私はYIi2でコメントを変更している間にPGSQLの列スキーマを変更できない
、
echo self::integer()->comment($string)->defaultValue($default) ;
それはPHP 5.5で動作し、私は、好きアルターテーブルユーザー
Alter column "userid" TYPE Integer NULL.
しかし、それは私に結果を返す必要があり
ALTER TABLE "user" ALTER COLUMN "userid" TYPE integer COMMENT "user name";
を引き起こします.9のウィンドウ/linux5.6.21とPHP5.6.21ではMYSQLで動作しますが、同じPHPバージョンではPGSQLでは動作しません。
//マイカスタム形質コード:
<?php
namespace common\models;
use Yii;
use yii\db\SchemaBuilderTrait;
trait AbstractSchemaBuilderTrait
{
use SchemaBuilderTrait;
public function many2one($table,$column,$rel_table,$rel_column,$type,$size=null,$string=null,$default=null,$act_delete=null,$act_update=null)
{
if ($type == 'integer') {
return self::integer()->comment($string)->defaultValue($default)." ,ADD CONSTRAINT fk_$table"."_$column FOREIGN KEY($column) REFERENCES $rel_table($rel_column)";
}
return self::$type($size)->comment($string)->defaultValue($default)." ,ADD CONSTRAINT fk_$table"."_$column FOREIGN KEY($column) REFERENCES $rel_table($rel_column)";
}
}
?>
は、誰もがこのために助けることができますか?
設定ファイルのコードを表示することはできますか? main.phpの設定で –
が正常に動作しています。 マイ・マイグレーション・スクリプトまたはアップグレード・モジュール・スクリプトから、私のカスタム特性からスキーマを変更しようとしています(私の質問のコード構造を参照してください) yiiとphpのすべてのバージョンでmysqlと同じコードがうまく動作するのは驚きです同じコードはPGSQL 5.6.21ではyii 2.0.9で動作し、php 5.5.9ではyii 2.0.6で動作しません。 問題について理解していただければ幸いです。 質問、私はコードブロックと予想される結果と今すぐ来る結果で更新しました。 –