我已经安装了一个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