Müssen created_at und update_at Zeitstempel in Epoch statt DateTime Format gespeichert werden. Gibt es eine Möglichkeit, das Standardverhalten zu ändern, während ORM dafür zuständig ist, den Zeitstempel zu verwalten.Rails ActiveRecord Timestamp in Epoch anstelle von DateTime Format
Wenn ich Rails Generator meiner Modelle erzeugen
class CreateTenants < ActiveRecord::Migration[5.0]
def change
create_table :tenants do |t|
t.string :tenant_name
t.string :tenant_owner_name
t.string :tenant_address
t.string :tenant_email
t.integer :pincode
t.timestamps
end
end
end
Nicht der Zeitstempel, die Datetime übersetzt.
create_table "tenants", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "tenant_name"
t.string "tenant_owner_name"
t.string "tenant_address"
t.string "tenant_email"
t.integer "pincode"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
Ich weiß, dass ich direkt zwei Spalten erstellen und manuell die created_at verändern und updated_at Felder bei jedem Besuch der Datensatz hinzugefügt wird/geändert, aber das wird in der Anwendung eingeführt viele schlechte Code redundanten Code sein.
Was ich brauche ist, die Zeitstempel im Epochformat (Zeit seit 1970 in Long) statt DateTime irgendwie zu speichern.
Dank
Haben Sie versucht, Ihre 'created_at'- und' updated_at'-Spalten als 'timestamp'-Spalten in Ihrem Schema zu definieren? – BoraMa
Ja.Aber standardmäßig wird das Format sql datetime verwendet. Aber ich möchte es als Epoch anstelle von DateTime speichern –
Sorry, vielleicht verstehe ich nicht, was du mit Epoch meinst. Ich dachte, Sie wollten die Spalten seit 1970 als Sekunden speichern, und das könnte, denke ich, nur funktionieren, wenn Sie die Spalten als Zeitstempel definieren. Können Sie näher erläutern, was genau Sie erreichen möchten? – BoraMa