Ricevo frequentemente il seguente errore nella mia applicazione. Se riavvio l'applicazione rails questo errore non verrà visualizzato per qualche tempo.ActiveRecord :: StatementInvalid: PG :: Errore: ERRORE: valore null nella colonna "id" viola il vincolo not-null
Rails - 3.1.3
Rubino - 1.9.3
ActiveRecord::StatementInvalid: PG::Error: ERROR: null value in column "id" violates not-null constraint
Directory.create(:name=>"name",:alias_name=>"name",:site_id=>2,:type=>"Directory")
(0.3ms) BEGIN
SQL (0.8ms) INSERT INTO "databases" ("alias_name", "created_at", "created_by", "id", "name", "site_id", "type", "updated_at", "updated_by") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) [["alias_name", "name"], ["created_at", Wed, 17 Apr 2013 16:46:25 IST +05:30], ["created_by", nil], ["id", nil], ["name", "name"], ["site_id", 2], ["type", "Directory"], ["updated_at", Wed, 17 Apr 2013 16:46:25 IST +05:30], ["updated_by", nil]]
PG::Error: ERROR: null value in column "id" violates not-null constraint
: INSERT INTO "databases" ("alias_name", "created_at", "created_by", "id", "name", "site_id", "type", "updated_at", "updated_by") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
(0.2ms) ROLLBACK
ActiveRecord::StatementInvalid: PG::Error: ERROR: null value in column "id" violates not-null constraint
: INSERT INTO "databases" ("alias_name", "created_at", "created_by", "id", "name", "site_id", "type", "updated_at", "updated_by") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
from /home/user/.rvm/gems/ruby-1.9.3-p194-firstvers[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1034:in `get_last_result'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1034:in `exec_cache'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb:603:in `block in exec_query'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:244:in `block in log'
from /home/user/.rvm/gems/[email protected]/gems/activesupport-3.1.3/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract_adapter.rb:239:in `log'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/postgresql_adapter.rb:601:in `exec_query'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:63:in `exec_insert'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:90:in `insert'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `insert'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/relation.rb:70:in `insert'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/persistence.rb:313:in `create'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/timestamp.rb:51:in `create'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/callbacks.rb:268:in `block in create'
from /home/user/.rvm/gems/[email protected]/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:390:in `_run_create_callbacks'
from /home/user/.rvm/gems/[email protected]/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
... 7 levels...
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/validations.rb:50:in `save'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/attribute_methods/dirty.rb:22:in `save'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:241:in `block (2 levels) in save'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:208:in `transaction'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:293:in `with_transaction_returning_status'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:241:in `block in save'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:252:in `rollback_active_record_state!'
from /home/user/.rvm/gems/[email protected]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:240:in `save'
from (irb):9
from /home/user/.rvm/gems/[email protected]/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in `start'
from /home/user/.rvm/gems/[email protected]/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in `start'
from /home/user/.rvm/gems/[email protected]/gems/railties-3.1.3/lib/rails/commands.rb:40:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'1.9.3p194 :010 >
Non so il motivo per cui id sta andando come nullo nelle rotaie generato SQL.
Qualcuno può aiutarmi per favore !!! Sto lottando molto con questo errore
Grazie in anticipo,
Selva Chezhian
Quali sono le impostazioni per la colonna id nello schema? Incremento automatico? NULL, NON NULL? Molto probabilmente un problema con il modo in cui la colonna id è stata impostata nella colonna id – Slinky
è come non null default nextval ('directories_id_seq' :: regclass) – Chezhian