sql >> データベース >  >> RDS >> PostgreSQL

typeormを使用してnull許容データベースフィールドをNULLに設定するにはどうすればよいですか?

    ぐっすり休んだ後、なんとか問題を解決できました。

    Typeormは、typescriptでエンティティの変数に指定した入力に基づいて、データベースフィールドのタイプを設定します。 Typeormは、以下のコードを varcharにキャストします。 文字列を指定したため、postgresデータベースのフィールド typescriptのタイプとして。

    @Column({
        unique: true,
        nullable: true,
    })
    resetPasswordToken!: string;
    

    これは私の問題があるところでもあります。 Typeormはフィールドの入力を受け取り、読み取った入力に基づいてそのデータベースフィールドを作成しようとします。以下のコードは正しいですが、typescriptは基本的に両方のタイプを単一のオブジェクトにカプセル化します。 そのオブジェクトはTypeormによって読み取られているものであり、エラーが発生します。

    resetPasswordToken!: string | null;
    

    問題を解決するには、次のようにデータベースフィールドタイプを明示的に指定する必要がありました。

    @Column({
        type: 'text',
        unique: true,
        nullable: true,
    })
    resetPasswordToken!: string;
    


    1. Doctrineクエリ言語はグループごとの最大/最新行を取得します

    2. Oracleの既存のアカウントと同じ権限でスキーマを複製するにはどうすればよいですか?

    3. PHP登録フォームからMysqlに日付が保存されない

    4. Laravel-行を複数挿入してIDを取得する