ruby を使用して postgresql DB にアクセスし、更新しています。更新しようとしているフィールドの 1 つは「updated_at」と呼ばれ、タイムゾーンのないタイムスタンプ タイプです。私はステートメントを使用しています:
db.prepare('statement1', "INSERT INTO games (game_hash,team1,team2,team1score,team2score,time,update_at) VALUES ($1,$2,$3,$4,$5,$6,$7)");
update = Time.now.strftime("%Y-%m-%d %H:%M:%S");
db.exec_prepared('statement1', [myId, team1, team1score, team2, team2score, progress, update]);
もともとタイムスタンプ フィールドのフォーマットが正しくないというエラーが発生していたため、更新変数は正しくフォーマットされていますが、もはやそうではありません。しかし、データベースは updated_at フィールドを空として表示します!! 他のすべてのフィールドは正しく入力されています。誰がこれを引き起こしているのか知っていますか?
UPDATE - last_update という datetime 型の新しい列を追加し、代わりにその列を使用すると、タイムスタンプがデータベースに適切に追加されます! データベースは元々 Rails のアクティブ レコードに由来するため、update/created_at フィールドは何らかの形で保護されていると思います。これを解決しようとする皆さんの助けに感謝します。代わりに新しいコラムを使用します。