2016-04-09 8 views
0

Ich versuche, eine BossRecord auf die Datenbank mit pgsql Adapter zu speichern, diese Art und Weise:boss_db: save_record nicht mit PostgreSQL-Adapter arbeiten

boss_db:save_record(admins:new("admins-1", 1)). 

In ChicagoBoss Shell dies zurück:

{ok,{admins,"admins-1",1}} 

Der Datensatz wird jedoch nicht in der Datenbank gespeichert.

Dies ist meine Tabelle:

CREATE TABLE admins(" 
     "ID integer primary key," 
     "user_ID integer" 
    ") 

Mein Modell:

-module(admins, [Id, UserId]). 
-compile(export_all). 

Dank.

Antwort

0

Dank Evan Miller habe ich die Lösung gefunden, wie hier sagt er evan miller ChicagoBoss blog "das Id-Feld jedes Modells wird angenommen, um eine Ganzzahl von der Datenbank (z. B. ein SERIAL-Typ in Postgres) angegeben werden ... angeben ein ID-Wert anders als das Atom ‚id‘ für einen neuen Datensatz wird zu einem Fehler“

Also änderte ich meine Tabelle:

 "CREATE TABLE IF NOT EXISTS admins(" 
      "ID serial primary key," 
      "user_ID integer" 
     ")" 

Und auch das Modell ändern (den Namen der spezifizieren Tabelle und die Spalten):

-module(admin, [Id, UserId]). 
-columns([{id, "ID"}, {user_id, "user_ID"}]). 
-table("admins"). 

Und mit 'id' Atom den Datensatz zu speichern:

boss_db:save_record(admins:new(id, 1)). 
Verwandte Themen