現在、knexを使用してデータベース(sqlite3)の移行を行っています。私は "users"テーブルを作成しています.2つのタイムスタンプフィールド、created_at
とupdated_at
が必要です。私はそれらをnotNullableにして、テーブルに行を挿入するときにデフォルトで追加します。私はtable.timestamp("created_at).notNullable().defaultTo(knex.fn.now())
のようなものを使うことができますが、SQLiteStudioでは、UTCのタイムゾーンでフォーマットされたタイムスタンプYYYY-MM-DD HH:MM:SSを表示します。だから私は2つの質問を持っています:knex.js移行のタイムスタンプフィールド
- どのように私のタイムゾーンにこの日付を設定できますか?
- sqliteのdatetimeフィールドを
SELECT
ステートメントから取得するとUnixタイムスタンプ(整数)として返され、SQLiteStudioでフォーマットされた日付として表示されるような方法で設定できますか?
これは私の移行コードです:hereを探し
exports.up = function(knex, Promise) {
return Promise.all([
knex.schema.createTable('users', function(table) {
table.increments("_id").primary().notNullable();
table.text("login").unique().notNullable();
table.text("given_name").notNullable();
table.text("family_name").notNullable();
table.timestamp("created_at").notNullable().defaultTo(knex.fn.now());
table.timestamp("updated_at").notNullable().defaultTo(knex.fn.now());
table.boolean("is_active").notNullable().defaultTo(true);
}),
]);
};