Ich bekomme den folgenden Fehler häufig in meiner Anwendung. Wenn ich meine Rails-Anwendung neu starte, wird dieser Fehler für einige Zeit nicht angezeigt.ActiveRecord :: StatementInvalid: PG :: Fehler: Fehler: Null-Wert in Spalte "ID" verletzt Nicht-Null-Bedingung
Rails - 3.1.3
Rubin - 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-first[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/ruby-1.9.3-p[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 >
Ich weiß nicht, warum ID als Null in den Schienen gehen generiert SQL.
Kann mir bitte jemand helfen !!! Ich kämpfe viel mit diesem Fehler
Vielen Dank im Voraus,
Selva Chezhian
Wie lauten die Einstellungen für die ID-Spalte in Ihrem Schema? Autoinkrement? NULL, NICHT NULL? Höchstwahrscheinlich ein Problem mit, wie die ID-Spalte eingerichtet wurde – Slinky
ID-Spalte ist wie nicht null Standard nextval ('Verzeichnisse_id_seq' :: Regclass) – Chezhian