Sails.js をバックエンド フレームワークとして使用して、プロジェクトを PHP から Node.js に移行しています。データベースを変更することはできず、このプロジェクトには既存のデータベースを使用する必要があります。
新しく作成されたモデルの を保持するmigrate: "alter"
と、Sails はデフォルトでid
フィールドを整数として保持します。
ただし、既存のデータベースの場合、id
フィールドはほとんどbigint
. migrate: "safe"
そのため、モデルの作成を定義して進めました。
現在私が直面している問題は、ブループリント ルートが結果を返すときに、数値として返されるはずの id 列の値が代わりに文字列として返されることです。次に例を示します。
[
{
"starttime": "07:00:00",
"endtime": "14:00:00",
"id": "1"
},
{
"starttime": "14:00:00",
"endtime": "22:00:00",
"id": "2"
},
{
"starttime": "22:00:00",
"endtime": "07:00:00",
"id": "3"
}
]
この問題を解決するにはどうすればよいですか?
これが私のモデルです:
module.exports = {
tableName: "timeslots",
autoCreatedAt: false,
autoUpdatedAt: false,
attributes: {
starttime: { type: "string", required: true },
endtime: { type: "string", required: true }
}
};
そして、これがpostgresqlテーブル定義です
Table "public.timeslots"
Column | Type | Modifiers | Storage | Stats target | Description
-----------+--------+--------------------------------------------------------+----------+--------------+-------------
id | bigint | not null default nextval('timeslots_id_seq'::regclass) | plain | |
starttime | text | not null | extended | |
endtime | text | not null | extended | |
Indexes:
"idx_43504_primary" PRIMARY KEY, btree (id)
Referenced by:
TABLE "doctortimeslot" CONSTRAINT "doctortimeslot_ibfk_2" FOREIGN KEY (timeslot_id) REFERENCES timeslots(id) ON UPDATE CASCADE ON DELETE CASCADE