boss_db:save_record 不适用于 PostgreSQL 适配器
boss_db:save_record not working with PostgreSQL adapter
我正在尝试使用 pgsql 适配器将 BossRecord 保存到数据库,方法如下:
boss_db:save_record(admins:new("admins-1", 1)).
在 ChicagoBoss 的 shell 这个 returns:
{ok,{admins,"admins-1",1}}
但记录实际上并没有保存在数据库中。
这是我的 table:
CREATE TABLE admins("
"ID integer primary key,"
"user_ID integer"
")
我的模特:
-module(admins, [Id, UserId]).
-compile(export_all).
谢谢。
感谢 Evan Miller,我找到了解决方案,就像这里他说的 evan miller ChicagoBoss blog "the Id field of each model is assumed to be an integer supplied by the database (e.g., a SERIAL type in Postgres)... specifying an Id value other than the atom 'id' for a new record will result in an error"
所以我将 table 更改为:
"CREATE TABLE IF NOT EXISTS admins("
"ID serial primary key,"
"user_ID integer"
")"
并更改模型(以指定 table 和列的名称):
-module(admin, [Id, UserId]).
-columns([{id, "ID"}, {user_id, "user_ID"}]).
-table("admins").
并使用 'id' 原子保存记录:
boss_db:save_record(admins:new(id, 1)).
我正在尝试使用 pgsql 适配器将 BossRecord 保存到数据库,方法如下:
boss_db:save_record(admins:new("admins-1", 1)).
在 ChicagoBoss 的 shell 这个 returns:
{ok,{admins,"admins-1",1}}
但记录实际上并没有保存在数据库中。
这是我的 table:
CREATE TABLE admins("
"ID integer primary key,"
"user_ID integer"
")
我的模特:
-module(admins, [Id, UserId]).
-compile(export_all).
谢谢。
感谢 Evan Miller,我找到了解决方案,就像这里他说的 evan miller ChicagoBoss blog "the Id field of each model is assumed to be an integer supplied by the database (e.g., a SERIAL type in Postgres)... specifying an Id value other than the atom 'id' for a new record will result in an error"
所以我将 table 更改为:
"CREATE TABLE IF NOT EXISTS admins("
"ID serial primary key,"
"user_ID integer"
")"
并更改模型(以指定 table 和列的名称):
-module(admin, [Id, UserId]).
-columns([{id, "ID"}, {user_id, "user_ID"}]).
-table("admins").
并使用 'id' 原子保存记录:
boss_db:save_record(admins:new(id, 1)).