Rails 3.1 - уровень стека слишком глубокий на db: seed - PullRequest
2 голосов
/ 03 января 2012

Я сбросил свою старую базу данных для разработки, чтобы получить новую версию в своем приложении rails 3.1.3.Но когда я запускаю bundle exec rake db:seed --trace, я получаю следующую ошибку:

rafael@WALL-A:~/workspace/media-choice$ bundle exec rake db:seed --trace
** Invoke db:seed (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Invoke disable_rails_admin_initializer (first_time)
** Execute disable_rails_admin_initializer
** Execute environment
[DEPRECATION WARNING] Nested I18n namespace lookup under "activerecord.models.delayed_upload_error" is no longer supported
** Execute db:abort_if_pending_migrations
** Execute db:seed
rake aborted!
stack level too deep
/home/rafael/.rvm/gems/ruby-1.9.3-p0@media-choice/gems/rake-0.9.2.2/lib/rake/task.rb:162
Tasks: TOP => db:seed
rafael@WALL-A:~/workspace/media-choice$

Я прочитал здесь , что это может вызвать проблему sass-3.1.5 и понижение до 3.1.Я бы это исправил.Но для меня это не сработало.Также я читаю здесь это может быть проблема с геммсетами rvm.Итак, я удалил мой rvm и переустановил все мои рубины и драгоценные камни.Но проблема все еще здесь.

Я также думал, что это может быть моей ошибкой в ​​файле seed, но я не вижу здесь никаких проблем:

# -*- encoding : utf-8 -*-

occupation = Occupation.create!(name: 'Estudante')

sponsor = Sponsor.create!(name: 'PROAC', logo: File.open('db/seeds/proac.jpg'))

contest = Contest.create!(name: 'Tema Livre', description: 'descrição', start_date: Date.today - 1.month, end_date: Date.today + 1.month,
                          call_text: 'call text', logo: File.open('db/seeds/freesubject.jpg'), enabled: true, show_in_upload: true )
contest.sponsors << sponsor
contest.content_types.create!(name: 'video')
contest.content_types.create!(name: 'audio')
contest.content_types.create!(name: 'wording')
contest.content_types.create!(name: 'photo')

user = User.new(first_name: 'José', last_name: 'da Silva', email: 'email@email.com', password: 'senhasenha',
                    country: 'Brasil', state: 'SP', city: 'São Paulo', gender: 'Masculino', birthdate: Date.today - 30.years,
                    commercialize_videos: true)
user.occupation = occupation
user.confirm!
user.save!

user2 = User.new(first_name: 'José', last_name: 'da Silva', email: 'email2@email.com', password: 'senhasenha',
                    country: 'Brasil', state: 'SP', city: 'São Paulo', gender: 'Masculino', birthdate: Date.today - 30.years,
                    commercialize_videos: true)
user2.occupation = occupation
user2.confirm!
user2.save!


user3 = User.new(first_name: 'José', last_name: 'da Silva', email: 'email3@email.com', password: 'senhasenha',
                    country: 'Brasil', state: 'SP', city: 'São Paulo', gender: 'Masculino', birthdate: Date.today - 30.years,
                    commercialize_videos: true)
user3.occupation = occupation
user3.confirm!
user3.save!

У кого-нибудь есть какие-нибудь советы?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 20 декабря 2013

Надеюсь, это кому-нибудь поможет.

По моему, это было из-за добавленного мной метода after_save, который вызывался снова и снова.Я изменил это на after_create и все хорошо.

1 голос
/ 19 февраля 2013

Я знаю, что это старая публикация, но только что очень долго она только что имела дело с той же ошибкой. Думаю, я могу помочь вам или будущим зрителям.

Для меня проблема заключалась в том, что не удалось избежать,В частности, у меня были одинарные кавычки в некоторых записях (приблизительно 100 000), которые я загружал.Как только я заменил их на \ ', у меня больше не было проблемы.

Я вижу в вашем вставленном коде акцентированные "е".Я знаю, что это может быть проблематично, если используется неправильная кодировка.

...