javascript - 如何在 Sequelize 中类型为 TIME 的列中创建位置?
问题描述
我有一些使用 DataType.Time 的表:
startTime: {
type: DataTypes.TIME,
allowNull: false
}
当我提出请求时,结果是这样的:
"startTime": "14:27:00"
但是,如果我尝试在此列“startTime”中使用“14:27:00”创建一个简单的 WHERE,则行不通。结果是无效的,有人知道为什么吗?
感谢大家!
解决方案
这是一个使用的工作示例"sequelize": "^5.21.3"
:
index.ts
:
import { sequelize } from '../../db';
import { Model, DataTypes } from 'sequelize';
class SomeModel extends Model {}
SomeModel.init(
{
startTime: {
type: DataTypes.TIME,
allowNull: false,
},
},
{ sequelize, modelName: 'some_models' },
);
(async function test() {
try {
await sequelize.sync({ force: true });
// seed
await SomeModel.create({ startTime: '14:27:00' });
// test
const rval = await SomeModel.findOne({ where: { startTime: '14:27:00' }, raw: true });
console.log(rval);
} catch (error) {
console.log(error);
} finally {
await sequelize.close();
}
})();
执行结果:
Executing (default): DROP TABLE IF EXISTS "some_models" CASCADE;
Executing (default): DROP TABLE IF EXISTS "some_models" CASCADE;
Executing (default): CREATE TABLE IF NOT EXISTS "some_models" ("id" SERIAL , "startTime" TIME NOT NULL, PRIMARY KEY ("id"));
Executing (default): SELECT i.relname AS name, ix.indisprimary AS primary, ix.indisunique AS unique, ix.indkey AS indkey, array_agg(a.attnum) as column_indexes, array_agg(a.attname) AS column_names, pg_get_indexdef(ix.indexrelid) AS definition FROM pg_class t, pg_class i, pg_index ix, pg_attribute a WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND a.attrelid = t.oid AND t.relkind = 'r' and t.relname = 'some_models' GROUP BY i.relname, ix.indexrelid, ix.indisprimary, ix.indisunique, ix.indkey ORDER BY i.relname;
Executing (default): INSERT INTO "some_models" ("id","startTime") VALUES (DEFAULT,$1) RETURNING *;
Executing (default): SELECT "id", "startTime" FROM "some_models" AS "some_models" WHERE "some_models"."startTime" = '14:27:00' LIMIT 1;
{ id: 1, startTime: '14:27:00' }
检查数据库中的数据记录:
node-sequelize-examples=# select * from "some_models";
id | startTime
----+-----------
1 | 14:27:00
(1 row)
node-sequelize-examples=# \d+ some_models;
Table "public.some_models"
Column | Type | Modifiers | Storage | Stats target | Description
-----------+------------------------+----------------------------------------------------------+---------+--------------+-------------
id | integer | not null default nextval('some_models_id_seq'::regclass) | plain | |
startTime | time without time zone | not null | plain | |
Indexes:
"some_models_pkey" PRIMARY KEY, btree (id)
推荐阅读
- php - 是否可以更新预加载文件?(php、js 或 html 代码)
- r - 在R中将每月间隔转换为周
- python - 从不同 DataFrame 的索引中创建新的 DataFrame
- ios - 将 jvm 模块导入为 kotlin 多平台依赖项
- python - 根据条件从列表中查找值
- powershell - 需要帮助创建脚本以将文件移动到特定文件夹
- java - 无法从 tools.jar 中找到符号
- c# - Embedio zip 文件 index.html 抛出 404 异常
- c# - 从 dll(通过程序集)C# 获取文件更新日期
- python - 是否有解决方法
或者 numba 忽略项目分配的方法?