質問編集履歴
2
ファイル名追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -96,7 +96,11 @@
|
|
96
96
|
|
97
97
|
|
98
98
|
|
99
|
-
|
99
|
+
lib/active_record/add_reset_pk_sequence_to_base.rb
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
```ruby
|
100
104
|
|
101
105
|
module ActiveRecord
|
102
106
|
|
1
エラーファイルの追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -85,3 +85,49 @@
|
|
85
85
|
|
86
86
|
|
87
87
|
```
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
以下追記・・・・
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
エラーの該当ファイル以下に追記します。
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
```ruby:lib/active_record/add_reset_pk_sequence_to_base.rb
|
100
|
+
|
101
|
+
module ActiveRecord
|
102
|
+
|
103
|
+
class Base
|
104
|
+
|
105
|
+
def self.reset_pk_sequence
|
106
|
+
|
107
|
+
case ActiveRecord::Base.connection.adapter_name
|
108
|
+
|
109
|
+
when 'SQLite'
|
110
|
+
|
111
|
+
new_max = maximum(primary_key) || 0
|
112
|
+
|
113
|
+
update_seq_sql = "update sqlite_sequence set seq = #{new_max} where name = '#{table_name}';"
|
114
|
+
|
115
|
+
ActiveRecord::Base.connection.execute(update_seq_sql)
|
116
|
+
|
117
|
+
when 'PostgreSQL'
|
118
|
+
|
119
|
+
ActiveRecord::Base.connection.reset_pk_sequence!(table_name)
|
120
|
+
|
121
|
+
else
|
122
|
+
|
123
|
+
raise "Task not implemented for this DB adapter"
|
124
|
+
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|
128
|
+
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
132
|
+
|
133
|
+
```
|