2

我放弃了旧的开发数据库,​​以便在我的 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.4 可以解决它。但是,对我来说它没有用。我也在这里读到它可能是一个 rvm gemset 问题。所以我卸载了我的 rvm 并重新安装了我所有的红宝石和宝石。但问题仍然在这里。

我还认为这可能是我在种子文件上的错误,但我认为这里没有问题:

# -*- 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!

有人有任何提示吗?

谢谢!

4

2 回答 2

2

希望这会对某人有所帮助。

对我来说,这是由于我添加的 after_save 方法被一遍又一遍地调用。我将其更改为 after_create ,一切都很好。

于 2013-12-20T13:11:26.150 回答
1

我知道这是一个旧帖子,但是很长一段时间都在处理同样的错误,我想我可以帮助你或未来的观众。

对我来说,问题是非转义字符。具体来说,我在播种的一些条目(大约 100,000 个)中有单引号。一旦我用 \' 替换了这些,我就不再有问题了。

我在您粘贴的代码中看到带有“e”的重音。我知道如果使用了不正确的编码,这些可能会出现问题。

于 2013-02-19T18:34:44.743 回答