jjzjj

database-migration

全部标签

ruby - Rails,如何迁移大量数据?

我有一个运行旧版本Spree(开源购物车)的Rails3应用程序。我正在将它更新到最新版本。这需要我在数据库上运行大量迁移以与最新版本兼容。但是,应用程序当前的数据库大约为300mb,要在我的本地计算机(macosx10.7、4gbram、2.4GHzCore2Duo)上运行迁移需要三天以上的时间才能完成。我能够使用AmazonEC2实例(高I/O按需实例,四倍超大)将这个时间减少到仅16小时。但是16小时仍然太长,因为我必须关闭网站才能执行此更新。有没有人有任何其他建议来降低这个时间?或提高迁移性能的任何提示?仅供引用:在Amazon实例上使用Ruby1.9.2和Ubuntu。

ruby-on-rails - 未定义方法 `accept' 为 nil :NilClass on rake db:migrate

使用ruby​​-1.9.2和rails3.2.1。mysql2的版本是0.2.7。运行rakedb:migrate时出现错误:“nil:NilClass的未定义方法‘accept’:”跟踪包括:gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in`to_sql' 最佳答案 从以下位置更改您的Gemfile:gem'activerecord-mysql2-adapter'到:gem'mysq

ruby - 执行 rake db :migrate on Heroku 时出错

做的时候heroku运行rakedb:migrate所有迁移都已执行,最后我总是收到以下消息:/app/vendor/bundle/ruby/1.9.1/bin/rake:没有这样的文件或目录-pg_dump-i-s-x-O-f/app/db/structure.sqldan79p98fykovu我无法在Heroku上将pg_dump添加到PATH。如何处理? 最佳答案 问题在于,迁移完成后,rails会尝试转储新的structure.sql,但由于pg_dump不存在而失败。为已部署的应用程序生成新的structure.sql毫无

ruby-on-rails - 如何在 Rails 中设置 database.yml 文件?

我正在做这个教程(http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/),开始之前的第4步是设置database.yml文件。不确定那是什么意思。有人可以解释一下吗? 最佳答案 database.yml是您设置连接到数据库的所有信息的文件。它因您使用的数据库类型而异。您可以在RailsGuide中找到更多相关信息。或任何解释如何设置Rails项目的教程。database.yml文件中的信息按环境范围划分,允许您为测试、开发或生产获得

ruby-on-rails - ruby rails : adding columns to existing database

我收到一个错误:SQLite3::SQLException:nosuchcolumn:ideas.list_id:SELECT"ideas".*FROM"ideas"WHERE"ideas"."list_id"=2但是我加了t.integer:list_id到我的数据库迁移文件:classCreateIdeas这给了我这个:classCreateIdeas然后我输入rakedb:migrate知道为什么我会收到一条错误消息说没有专栏吗?我对RoR还是陌生的。我必须以其他方式添加一列吗?谢谢 最佳答案 正如Speransky所建议的,

ruby-on-rails - Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思?

我在Rails5应用程序中创建的迁移将5.0传递到一个方法中:classCreateVariableKeys我想知道[5.0]是什么意思。 最佳答案 它是ActiveRecord::Migration的类方法,定义为here.它允许我们在4.2和5.0之间选择我们希望使用的迁移版本。该方法抛出一个:"Unknownmigrationversion..."如果将不兼容的版本作为参数传递,则会出错。ActiveRecord的生产就绪版本没有该方法,因此它应该在Rails5结束测试版后立即消失。

ruby-on-rails - rails : How to delete a pending migration

我目前正在学习ruby​​onrails教程:http://guides.rubyonrails.org/getting_started.html.我正在尝试将数据保存到数据库中。但是,当我运行:railsserver时,出现以下错误:Migrationsarepending.Toresolvethisissue,run:bin/rakedb:migrateRAILS_ENV=development我看过其他文章,当我运行时:bin/rakedb:migrate我得到一个rakeaborted!运行后:rakedb:abort_if_pending_migrations....我看到了

ruby-on-rails - 迁移正在等待;运行 'bin/rake db:migrate RAILS_ENV=development' 来解决这个问题[无法继续]

我似乎有一个关于RubyonRails迁移过程的循环问题。我正在关注介绍文章,我已经到了需要创建我的第一个表的地步。我已经运行了以下,[tims@web2working_ror]#railsgeneratemodelHomepagefirst_name:stringlast_name:stringemail:stringmessage:textinvokeactive_recordcreatedb/migrate/20131119203948_create_homepages.rbcreateapp/models/homepage.rbinvoketest_unitcreatetest

ruby-on-rails - 运行 rake db :migrate 时,Rails 创建迁移以将列添加到表中会导致错误

我创建了一个名为“用户”的模型,我创建了一个新的迁移以将一些列添加到用户表中。现在,当我运行rakedb:migrate时,我得到以下b/c错误,它正在尝试再次创建用户表$rakedb:migrate==DeviseCreateUsers:migrating==============================================--create_table(:users)rakeaborted!Anerrorhasoccurred,alllatermigrationscanceled:Mysql::Error:Table'users'alreadyexists:CR

ruby-on-rails - 覆盖 database.yml 的策略?

在我的环境中,部署服务器具有database.yml中的大部分连接信息。即他们知道自己是开发、测试还是生产服务器,知道各自的数据库连接信息。例如,我可以将此信息封装在一个服务器类中,以便我可以检索信息:Server["environment"]#=>productionServer["db_host"]#=>db5.example.comServer["db_password"]#=>[adecryptedpassword]等等。我想部署一个Rails应用程序并让它根据服务器设置自动配置。执行此操作的最佳方法是什么?一种方法是在我的database.yml中使用Erb::adapter