- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
对于我通过 Heroku 托管的 Ruby-on-Rails 应用程序,我最近下载了一个备份,在本地恢复它,然后从外部来源将数据添加到数据库中。一切正常。
在使用 heroku pg:push <localdbname> HEROKU_DATABASE_URL --app <appname>
将更新后的数据库推送到 Heroku 之后该应用程序运行良好,我可以看到新添加的数据。
但是今天当我尝试在 Heroku 上登录该应用程序时,我收到了错误消息。在我的日志文件中,我看到了这个错误:
ActionView::Template::Error (Unknown primary key for table ...
根据这篇 SO 帖子:Getting "Unknown primary key for table" while the ID is there
一个用户通过多次重置数据库并将其推送到 Heroku 来解决这个问题。但是,这对我没有用。我现在至少尝试重置和推送数据库 4 次。
一种可能是我的本地 postgres 数据库使用的是 9.6 版,而应用程序使用的是 9.4 版。 Heroku 数据库是一个 Hobby-Basic 数据库。有 documentation from Heroku on how to upgrade the Postgres version但从他们的例子中我还不能完全清楚我需要做什么。我猜我基本上需要创建一个新数据库,将数据从旧的复制到新的,然后销毁旧的。有没有人这样做过?这样做会产生费用吗?升级 Postgres 版本是否为其他人远程解决了这个问题?
最佳答案
我以前遇到过类似的问题。我在 RazorSQL 的 rails 之外创建了一个 postgres 数据库。我从外部来源导入数据,当我在本地运行时一切正常。在部署时,我遇到了各种各样的问题。
我在 rails 之外创建了表,因此没有创建迁移。我不得不通过删除当前模型并生成一个新模型来重新创建表,该新模型仅在创建迁移时是旧模型的副本,例如:
rails 生成模型 广告名称:字符串 描述:文本 价格:小数seller_id:integer email:string img_url:string
我需要从我已经创建的数据库中导入数据,在我做任何事情之前,我实际上使用这个 gem https://github.com/rroblak/seed_dump 创建了一个种子文件。当我再次创建模型(记得删除模型并重新创建它)时,我所要做的就是运行 rake db:seed
并将数据拉入。
3.我必须做的最后一件事是在模型中插入关联,例如在所有者模型中放入 has many: customers
以连接客户模型。
另一种情况是我在 RazorSQL 中运行一个查询并从该查询生成一个新表并将其导入到 postgres 中。问题是它只是结果中的一个表,因此它没有主键。我必须使用 ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;
在 postgres 中手动创建它
希望这对您有所帮助。
关于ruby-on-rails - 尝试将本地数据库推送到 Heroku 后出现 "ActionView::Template::Error (Unknown primary key for table",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909354/
C:\Users\Clarion Smith\Documents\Sites\simple_cms>rails server C:/Ruby22/lib/ruby/gems/2.2.0/gems/ac
我有一个基本的静态网页。 class StaticPagesController true %> 这是显示为导致错误的行。导致问题的原因是什么? 当我删除 stylesheet_link_tag
我有一个具有以下命名空间的 ruby View :ActionView::Base.new 但我想添加一个新方法以供此 ActionView::Base 类使用。 最佳答案 在 myapp/lib
所以我实现了为我的 ActionBar 中的 MenuItem 设置自定义 ActionView,太棒了! 现在,如何让 menuItem 显示它的标题(在 xml 中设置)? 这很重要,因为我希望用
将 mysite 部署到 VPS 后,我面临此运行时错误。请注意,在我的本地机器上,一切正常。 当我尝试通过 Controller 路由访问任何 View 时,可以说 PostsController#
我在 Rails 中遇到一些路由问题。 我已经为 Project 模型准备了一个模型,所以我使用 rails generate scaffold_controller 生成了一些默认 Controll
正如标题所说,我在 MenuItem 上使用 setActionView 进行设置,布局如下: 问题是 ProgressBar 显示为右对齐。 (它应该与中心对齐,与 MenuItem
我在 application_contoller.rb 中有一个方法,其中包含对 send_file 的调用。我从 javascript 渲染的部分调用它,并收到以下错误 - ActionView::
运行下面的代码时出现以下异常: uninitialized constant ActionView::CompiledTemplates::Current Controller : class Use
当 Google 机器人尝试访问我的某个 Controller 时,我收到此错误消息。 ActionView::MissingTemplate: Missing template channels/s
我正在测试 Rails Controller 并尝试使用代码执行获取: delete :remove_logs, :id => 3 它始终返回一个 ActionView::MissingTemplat
在将我的元素推送到 Amazon Web Services 上的实时环境然后访问该域时,我目前遇到了一个错误。 ActionView::Template::Error (Command 'java -
我已经安装了 timezone gem 并且在我看来 现在我得到了 uninitialized constant ActionView::CompiledTemplates::Timezone 还有
我想在我的操作栏中创建一个始终展开的搜索窗口。我正在使用 ActionBar Sherlock 库。根据我发现的一些样本,这段代码应该可以解决问题 public boolean onCreat
我在抽屉导航中使用支持的 NavigationView 来显示项目菜单。 我想在菜单项旁边显示连接请求计数器。 我试过像这样在 XML 菜单定义中设置 actionLayout ..
现在,我不得不承认,我是 Ruby on Rails 的新手,并不是很了解每个概念。我已经安装了 Devise 进行身份验证并遵循了 this guide在我的 View 中包含注册和登录链接。 这是
我一直在苦苦寻找这个问题的答案,显然我还没有做到。我尝试编码我的第一个小部分,我可以毫无问题地打开服务器,但是当我打开它时,服务器没有向我展示我编码的内容,而是告诉我:类型错误:对象不支持此属性或方法
我正在使用 Rails 3.2.3/Ruby 1.9.3p125/jbuilder (0.4.0) 在我的 view/mycontroller 文件夹中,我有一个 show.json.jbuilder
我已经使用 capistrano 部署了我的应用程序在 AWS , 与 nginx和 unicorn .当我打开我的主页时,它是空的。这是我的unicorn日志 Started GET "/" for
我正在使用 ruby on rails 3。我有一个名为 Content 的模型.在 Controller 中,我提取了一些变量并将它们传递给查看器。在查看器中,我想使用我自制的函数,这样我就不会
我是一名优秀的程序员,十分优秀!