【发布时间】:2014-06-25 17:32:52
【问题描述】:
我正在使用 rails 4、postgres 9.3 和 devise,在注册用户时,我收到以下错误:
PG::NotNullViolation: ERROR: the null value for column « usuario_id » violates the constraint not null.
表或模型usuario的主键或ID是usuario_id,它是一个整数。
我知道它违反了 de 约束,但是如何在不通过注册表单输入 ID 的情况下自动增加 ID?
我没有进行迁移,因为它没有必要,因为我已经在 postgres 中有表。我添加的唯一列是设计列。无论如何,这是来自 postgresql 的表。
Tabla «public.usuario»
Column | Type | Modifiers
------------------------+-----------------------------+---------------------------------
usuario_id | integer | not null
comuna_id | integer | not null
usuario_nombre | character(256) |
usuario_apellidopat | character(256) |
usuario_apellidomat | character(256) |
usuario_rut | character varying(1024) |
email | character varying(1024) |
usuario_nombre_usuario | character(256) |
password | character varying(128) |
usuario_vip | boolean |
usuario_calle | character varying(128) |
usuario_numero_calle | smallint |
usuario_villa | character varying(128) |
usuario_numero_depto | smallint |
usuario_bloque | smallint |
encrypted_password | character varying(255) | not null valor por omisión
reset_password_token | character varying(255) |
reset_password_sent_at | timestamp without time zone |
remember_created_at | timestamp without time zone |
sign_in_count | integer | not null valor por omisión 0
current_sign_in_at | timestamp without time zone |
last_sign_in_at | timestamp without time zone |
current_sign_in_ip | character varying(255) |
last_sign_in_ip | character varying(255) |
confirmation_token | character varying(255) |
confirmed_at | timestamp without time zone |
confirmation_sent_at | timestamp without time zone |
unconfirmed_email | character varying(255) |
Índexes:
"pk_usuario" PRIMARY KEY, btree (usuario_id)
"index_usuario_on_reset_password_token" UNIQUE, btree (reset_password_token)
"usuario_pk" UNIQUE, btree (usuario_id)
"relationship_34_fk" btree (comuna_id)
Foreign key constraints:
"fk_usuario_relations_comuna" FOREIGN KEY (comuna_id) REFERENCES comuna(comuna_id) ON UPDATE RESTRICT ON DELETE RESTRICT
Referenced by:
TABLE "compra_remate" CONSTRAINT "fk_compra_r_relations_usuario" FOREIGN KEY (usu_usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "compra_remate" CONSTRAINT "fk_compra_r_relations_usuario2" FOREIGN KEY (usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "compra_venta_especial" CONSTRAINT "fk_compra_v_relations_usuario" FOREIGN KEY (usu_usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "compra_venta_normal" CONSTRAINT "fk_compra_v_relations_usuario" FOREIGN KEY (usu_usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "compra_venta_especial" CONSTRAINT "fk_compra_v_relations_usuario2" FOREIGN KEY (usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "compra_venta_normal" CONSTRAINT "fk_compra_v_relations_usuario2" FOREIGN KEY (usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "notificacion" CONSTRAINT "fk_notifica_relations_usuario" FOREIGN KEY (usuario_id) REFERENCES usuario(usuario_id) ON UPDATE RESTRICT ON DELETE RESTRICT
TABLE "prod_of_nec" CONSTRAINT "fk_prod_of__relations_usuario" FOREIGN KEY (usuario_id) REFERENCES u:
【问题讨论】:
-
我们可以查看您为
usuario_id列所做的迁移吗?
标签: ruby-on-rails postgresql ruby-on-rails-4 devise postgresql-9.3