2016-04-23 6 views
0

私はpostgresqlデータベースでruby on railを使用しています。いくつかのtables_id_seqが1から始まらず、980190963で始まっていないという不思議なことが起きました。しかし、seqの一部が1から正しく始まっています。rails postgresシーケンスの一部が1から始まらない

問題は、seqが始まっていないテーブルにデータを挿入しようとしたときです1、一意の主キー違反が時折発生します。

--EDIT--

私は

rake db:migrate test 

を行うときに問題が起こることがわかりました。

私は

rake db:migrate RAILS_ENV=test 

をすれば、問題はなくなっています。

+0

あなたが失うことができないそれらのテーブルのデータはありますか? – bkunzi01

答えて

0

これらのテーブルにデータを保持する必要がない場合は、次のコマンドを実行してテーブルをリセットします(これでデータが削除されます)。テーブルIDを1から開始するように再起動します。 YOUはDONが「Tはそのテーブルのデータが必要!

ActiveRecord::Base.connection.execute("TRUNCATE TABLE table_name_here RESTART IDENTITY") 

限り、あなたのテーブルがそのid値から開始されている理由として、私はあなたの移行を確認することから始めます。たぶんどこかのコードであり、」IFアルターシーケンスは、 "SQL文ですが、もう一度わかりません。

関連する問題