我已经安装了RefineryCMS应用程序,一切正常,直到我决定安装其Blog引擎。
我从头开始运行应用迁移(包括博客),我收到以下错误:
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)
我已经看到这是一个known issue,但我无法为开发和生产环境找到一个简洁的解决方案。
顺便说一句,我看到这种情况发生在我使用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
但它仍然没有用。有什么想法吗?
答案 0 :(得分:1)
将以下内容添加到它复制到db / seeds /的博客种子文件的顶部:
Page.reset_column_information