jjzjj

ruby - 使用 :sql 模式格式时如何使 rake db :migrate generate schema. rb

如果在config/application.rb中使用这个选项:config.active_record.schema_format=:sql然后当你这样做时:rakedb:migrate它只转储db/structure.sql。我知道它没有使用db/schema.rb因为它使用的是:sql选项,但是你如何制作rakedb:migrate还生成db/schema.rb吗?我们需要它,因为RubyMine4.5和IntelliJIDea11使用db/schema.rb来自动完成列。 最佳答案 要生成/更新db/schema.rb,即使

ruby-on-rails - 迁移后删除 Rails 模型

这对我来说似乎很奇怪,创建模型、运行迁移、销毁它并再次创建相同的模型报告SQL异常:project|master⇒railsgmodelnamenameinvokeactive_recordcreatedb/migrate/20130417185814_create_names.rbcreateapp/models/name.rbproject|master⚡⇒rakedb:migrate==CreateNames:migrating====================================================--create_table(:names)->0

ruby-on-rails - 数据库错误 :Migrate "uninitialized constant DeviseCreateUsers"

我试图在Heroku上运行rakedb:migrate命令,但遇到了这个问题。uninitializedconstantDeviseCreateUsers/app/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:230:in`blockinconstantize'/app/vendor/bundle/ruby/2.0.0/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:2

ruby-on-rails - rake db::migrate 是如何工作的

我刚刚真正开始使用Ruby和Rails,我发现自己真正喜欢的事情之一就是它让您使用的约定。我想在我自己的非Ruby项目中模仿这种行为。我的问题是它实际上是如何工作的?我知道我可以查看Rails代码,但我的理解还不够深入,无法了解其中发生了什么。我知道它需要一个基线脚本,然后针对它运行更新架构更改。但是它怎么知道它的版本是什么?我如何在另一个框架/数据库中模仿它? 最佳答案 注意:目前Rails2.x也是如此。它可能不适用于Rails3,因为我花在Rails3上的时间没有我希望的那么多。Rails创建了一个名为schema_migra

ruby-on-rails - rake 数据库 :migrate giving 'unexpected\n' error

我使用Rails脚手架使用来自终端的命令制作模型:railsgeneratescaffoldVenuevenueid:string,venueName:string,venueAddress:string,venueCity:string,venueState:string,venueZip:integer,venuePhone:string,venueAge:int似乎安装或生成一切正常,但是当我运行rakedb:migrate时,出现以下错误:rakeaborted!/Users/Banderson/Documents/demo/db/migrate/20130202222224_

ruby-on-rails - rake 数据库 :migrate is being aborted due to rake version difference

这个问题在这里已经有了答案:YouhavealreadyactivatedX,butyourGemfilerequiresY(11个答案)关闭8年前。我遇到了错误rakedb:migrate--tracerakeaborted!Youhavealreadyactivatedrake10.1.1,butyourGemfilerequiresrake10.1.0.Usingbundleexecmaysolvethis./Users/iang/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:

ruby-on-rails - Capistrano 部署 :migrate and db:migrate run all migrations every time

因此,我正在使用rails(ruby1.9.3p392、rails3.2、sqlite3db)并尝试将无处不在的博客教程代码部署到“生产”服务器(apache、passenger、ubuntu)。我的deploy.rb看起来像这样:require'bundler/capistrano'require'rvm/capistrano'load'deploy/assets'set:rvm_ruby_string,ENV['GEM_HOME'].gsub(/.*\//,"")set:rvm_type,:userset:user,'blah'set:application,'railsTest'

ruby-on-rails - ruby rails : how to migrate changes made on models?

在Rails应用程序中,如何迁移我在模型中所做的更改?例如,我知道如果我使用命令“railsgmodelPersonname:string”创建一个模型,也会创建一个迁移。但是,如果在这一步之后我转到创建的模型“Person”并添加一个新属性,这个新属性是否会自动添加到迁移中以便以后在数据库中持久化?还是我从错误的角度看待这个问题,应该将属性添加到迁移,然后再添加到模型?问候 最佳答案 您不能真正向模型“添加”属性,您可以通过创建迁移文件并运行它来实现——Rails根据数据库中的列来确定模型具有的属性。但是,如果您希望能够通过批量分

ruby-on-rails - ruby on rails rake db :migrate error

我开始使用本指南学习ruby​​onrails:getting_started,我创建了我的项目和数据库,但是当我运行rakedb:migrate时,我得到了这个错误:@mona-Extensa-5230:~/rubyDev/Sites/blog#rakedb:migrate(in/home/mona/rubyDev/Sites/blog)==CreatePosts:migrating====================================================--create_table(:posts)rakeaborted!Anerrorhasoccurr

ruby-on-rails - rake 数据库 :migration not working on travis-ci build

我正尝试在Travis-CI上从github构建我的RubyonRails项目,但我遇到了迁移问题。它运行一个用于迁移的rake任务,但它在之后提示相同的迁移步骤。它遵循我的.travis.yml文件:language:rubyrvm:-1.9.2before_script:-"rakedb:migrateRAILS_ENV=test"这是构建输出:1Usingworker:ruby4.worker.travis-ci.org:travis-ruby-32345$cd~/builds678$gitclone--depth=100--quietgit://github.com/rafae