Ruby on Rails 3 - 使用博客引擎创建数据库时出错



我已经安装了一个RefineryCMS应用程序,在我决定安装它的博客引擎之前,一切都运行良好。

我们从头开始运行应用程序迁移(包括博客),我收到以下错误:

Mysql2::Error: Unknown column 'custom_title' in 'field list': INSERT INTO `pages`  (`browser_title`, `path`, `meta_description`, `created_at`, `link_url`, `custom_title_type`, `draft`, `title`, `skip_to_first_child`, `deletable`, `updated_at`, `position`, `rgt`, `custom_title`, `meta_keywords`, `parent_id`, `menu_match`, `lft`, `show_in_menu`, `depth`) VALUES (NULL, NULL, NULL, '2011-03-10 16:32:08', '/blog', 'none', 0, 'Blog', 0, 0, '2011-03-10 16:32:08', 2, 8, NULL, NULL, NULL, '^/blogs?(/|/.+?|)$', 7, 1, NULL)

我已经看到这是一个已知问题,但我找不到适用于开发和生产环境的简洁解决方案。

顺便说一句,我看到我使用命令安装的自定义引擎发生了这种情况rails g engine_name。奇怪的是,如果您在之前运行过所有以前的迁移之后运行这些迁移,则不会发生这种情况。它只是在从头开始运行所有应用程序迁移时发生。

有什么想法吗?

更新:

这是我在这里收到评论后db/seeds/refinerycms_blog.rb文件的样子:

Page.reset_column_information
User.find(:all).each do |user|
  user.plugins.create(:name => "refinerycms_blog",
                      :position => (user.plugins.maximum(:position) || -1) +1)
end
page = Page.create(
  :title => "Blog",
  :link_url => "/blog",
  :deletable => false,
  :position => ((Page.maximum(:position, :conditions => {:parent_id => nil}) || -1)+1),
  :menu_match => "^/blogs?(/|/.+?|)$"
)
Page.default_parts.each do |default_page_part|
  page.parts.create(:title => default_page_part, :body => nil)
end

但它仍然不起作用。有什么想法吗?

将以下内容添加到它复制到db/seeds/的博客种子文件的顶部:

Page.reset_column_information

相关内容

  • 没有找到相关文章

最新更新