Tag: dbmigrate

Rails:db / schema.rb中的差异 – null:false:created_at / updated_at列

有人知道为什么每当我在生产环境中运行rake db:migrate时,schema.rb文件都会被更改? 差异仅在所有模型表的created_at,update_at列上: – t.datetime “created_at” – t.datetime “updated_at” + t.datetime “created_at”, null: false + t.datetime “updated_at”, null: false 我知道这是它在生产数据库中找到的,但为什么它们被创建为null: false而不是在开发数据库中?

OSX上的Ruby nubie – 无法超越rake db:migrate – get Bus Error

原始问题: 我是(ruby的新手)使用RVM在Mac OSX 10.6上管理我的ruby 这是我的mac OX信息: $ rvm info ruby-1.9.2-head@1.9.2-head-gemset: system: uname: “Darwin fillibuster-2.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386” bash: “/bin/bash => GNU bash, version 3.2.48(1)-release (i386-apple-darwin10.0)” zsh: “/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)” rvm: version: “rvm 1.5.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]” ruby: interpreter: “ruby” version: […]

rails db:migrate failed’ .users’不存在:显示来自`users`的完整字段

我做了大量的谷歌搜索并阅读了很多堆栈溢出页面,但无法解决这个问题。 如果任何人可以帮助解决这个问题,那将会很有帮助。 我的应用程序昨天工作正常,现在突然它开始出错“rake db:migrate” 我检查我的方案很好,我试过rake db:drop / db:create / db:migrate,我检查了Gem文件中的设计。 我的错误: 我的架构: 我的gem文件: 任何帮助都将非常有用。 谢谢。 文本错误: Senthil:zenkars senthilkumar $ rake db:migrate rake aborted! Mysql2 ::错误:表’zenkars_development.users’不存在:显示来自users全部字段 任务:TOP => db:migrate => environment (通过使用–trace运行任务来查看完整跟踪) Senthil:zenkars senthilkumar $ rake db:migrate –trace **调用db:migrate(first_time) **调用环境(first_time) **调用disable_rails_admin_initializer(first_time) **执行disable_rails_admin_initializer **执行环境 耙子流产了! Mysql2 ::错误:表’zenkars_development.users’不存在:显示来自users全部字段/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord- 3.2.8 / lib / active_record / connection_adapters / abstract_mysql_adapter.rb:245:在`query’中

heroku运行db:migrate因rake中止而失败

在推送我的最新代码后,Heroku不会改变表格。 当我运行“heroku rake db:migrate”时,我得到了佣金中止! 它说语法错误,但我不知道哪里是错误 syntax error on line 4, col 586: ` state: [“σלקµ╡╖Θבף”,”Θ¥עµú«τ£ל”,”σ▓⌐µיכτ£ל”,”σ««σƒמτ£ל”,”τºכτפ░τ£ל”,”σ▒▒σ╜óτ£ל”,”τªןσ│╢τ£ל”,”Φל¿σƒמτ£ל”,”µáדµ£¿τ£ל”,”τ╛ñΘª¼τ£ל”,”σƒ╝τמיτ£ל”,”σםדΦסיτ£ל”,”µ¥▒Σ║¼Θד╜”,”τÑ₧σÑטσ╖¥τ£ל”,”µצ░µ╜ƒτ£ל”,”σ»לσ▒▒τ£ל”,”τƒ│σ╖¥τ£ל”,”τªןΣ║ץτ£ל”,”σ▒▒µó¿τ£ל”,”Θץ╖Θחמτ£ל”,”σ▓נΘר£τ£ל”,”Θ¥שσ▓íτ£ל”,”µה¢τƒÑτ£ל”,”Σ╕יΘחםτ£ל”,”µ╗כΦ│אτ£ל”,”Σ║¼Θד╜σ║£”,”σñºΘר¬σ║£”,”σו╡σ║½τ£ל”,”σÑטΦי»τ£ל”,”σעלµ¡לσ▒▒τ£ל”,”Θ│Ñσןצτ£ל”,”σ│╢µá╣τ£ל”,”σ▓íσ▒▒τ£ל”,”σ║דσ│╢τ£ל”,”σ▒▒σןúτ£ל”,”σ╛│σ│╢τ£ל”,”Θªשσ╖¥τ£ל”,”µה¢σ¬¢τ£ל”,”Θ½רτƒÑτ£ל”,”τªןσ▓íτ£ל”,”Σ╜נΦ│אτ£ל”,”Θץ╖σ┤מτ£ל”,”τזךµ£¼τ£ל”,”σñºσטזτ£ל”,”σ««σ┤מτ£ל”,”Θ╣┐σונσ│╢τ£ל”,”µ▓צτ╕הτ£ל”]’ /usr/local/lib/ruby/1.9.1/syck.rb:135:in `load’ /usr/local/lib/ruby/1.9.1/syck.rb:135:in `load’ /usr/local/lib/ruby/1.9.1/syck.rb:146:in `block in load_file’ /usr/local/lib/ruby/1.9.1/syck.rb:145:in `open’ /usr/local/lib/ruby/1.9.1/syck.rb:145:in `load_file’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/base.rb:172:in `load_yml’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/base.rb:157:in `load_file’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/base.rb:15:in `block in load_translations’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/base.rb:15:in `each’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/base.rb:15:in `load_translations’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/simple.rb:57:in `init_translations’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/simple.rb:71:in `lookup’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/base.rb:26:in `translate’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/fallbacks.rb:44:in `block (2 levels) in translate’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/fallbacks.rb:43:in `catch’ /app/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.1/lib/i18n/backend/fallbacks.rb:43:in `block […]

rake db:migrate error(未找到函数’inotify_init’)

我刚刚完成了在我的旧Mac书上设置我的rails环境并遇到了这个错误。 我安装了FFI和rb-inotify。 我也再次运行了bundle install。 我看了看 https://github.com/ffi/ffi/issues/66 和 https://groups.google.com/forum/?fromgroups=#!topic/ruby-ffi/gj3_k34o80k 这两个都表明这是一个特定于Linux的API。 有一个建议在第二个链接上说我应该删除那个gem以及依赖它的东西,但是我对删除似乎依赖它的FFI犹豫不决。 您建议采取什么行动? 非常感谢有关此事的任何建议。 编辑:我正在运行rails 3.2.7(今晚更新到3.2.11)。 编辑2:我发现: Rubygems:如何添加特定于平台的依赖? 。 这有用吗? 编辑3:你认为它可能与rbenv有关吗? 编辑4:我将我的开发gem从rb-inotify更改为rb-fsevent,运行bundle install然后执行db:migrate。 它继续运行迁移。 嗯……我问我的团队成员使用macs尝试执行rake db:migrate,因为我们的Linux开发人员将rb-inotify添加到我们的gem集合中。 此链接可能对以这种方式提供帮助的人有所帮助: https : //supportbee.com/devblog/2012/07/18/using-platform-dependent-gems-rb-inotify-and-rb-fsevent/ 编辑5:我一直在看卫兵gem ,特别是这部分: 我添加了这个,它将执行rake db:migrate,但我仍然得到一个非常类似的错误列表: Could not open library ‘libgtk-x11-2.0’: dlopen(libgtk-x11-2.0, 13): image not found. 我想我正在进步到一个完整的解决方案! 编辑7:看看这个stackoverflow问题是由于libnotify gem导致的剩余错误: 升级到Rails 3.1后图像未找到错误,如何修复? 。 它建议这样做: gem ‘libnotify’ if /linux/ =~ RUBY_PLATFORM […]

Rails:我更新迁移文件然后运行db:migrate,但我的架构没有更新

我正在尝试在我的一个表中添加一个额外的字段。 我在迁移文件中添加了该字段(在db \ migrate下),然后运行了’rake db:migrate’,它运行没有麻烦。 我的文本编辑器甚至告诉我我的schema.db文件已经更新,需要刷新。 模式文件不包含我的新字段,任何从我的视图引用该字段的尝试都会失败。 我该怎么做呢? 可以通过rails更新带有额外字段的表,而不必完全删除并重新创建数据库吗?

Heroku rake db:migrate导致错误R13(附加错误) – >无法附加到进程

我在heroku上有一个rails应用程序,我无法运行我最新的数据库更改。 运行heroku run rake db:migrate给了我 Running `rake db:migrate` attached to terminal… up, run.3167 ! Heroku client internal error. ! Search for help at: https://help.heroku.com ! Or report a bug at: https://github.com/heroku/heroku/issues/new Error: Operation timed out – connect(2) (Errno::ETIMEDOUT) Backtrace: /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:40:in `initialize’ /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:40:in `open’ /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:40:in `block in start’ /usr/local/heroku/ruby/lib/ruby/1.9.1/timeout.rb:68:in `timeout’ /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:31:in `start’ /Users/gregg/.heroku/client/lib/heroku/command/run.rb:132:in `rendezvous_session’ /Users/gregg/.heroku/client/lib/heroku/command/run.rb:119:in `run_attached’ […]

使用rake db:migrate命令和mysql在Rails中创建表的PRIMARY KEY问题

我的rails版本是4.0.0,我的mysql版本是Ver 14.14 Distrib 5.7.9,适用于Win64(x86_64)。 我正在运行一个旧版本的rails,因为我正在根据我之前的问题获得与mysql的一些冲突。 (查看Kalelc批准的回答我的追索权) 跑步时 rake db:migrate 我收到以下错误 == CreateUsers: migrating ==================================================== — create_table(:users) rake aborted! StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead: CREATE TABLE `users` (`id` int(11) DEFAULT NULL […]

获得:“迁移正在等待; 运行’bin / rake db:migrate RAILS_ENV = development’来解决此问题。“克隆并迁移项目后

我克隆了我的项目。 捆绑“捆绑安装”,然后运行“rake db:migrate”。 我收到此错误:(当我运行rails服务器并将我的浏览器打开到localhost:3000时)“迁移正在等待;运行’bin / rake db:migrate RAILS_ENV = development’以解决此问题。” 我逐个检查了所有迁移,并且所有迁移都没有错误地执行。 执行“rake db:migrate”后也没有显示错误。 这是我执行“ rake db:migrate:status ”时看到的内容 我在开发环境。 如果您需要任何其他信息,请告诉我。 我还尝试了“捆绑exec rake db:migrate”,并将“捆绑exec rake db:migrate:reset”改为“burninggramma”建议。 什么导致错误的线索?

脚手架后无法迁移数据库。 2.2节Ruby on Rails教程Michael Hartl

我正在研究Hartl ruby​​ on rails教程(第2.2节),我在迁移数据库时遇到了麻烦。 一切似乎都在工作,然后我运行rails generate scaffold User name:string email:string后来我试图运行bundle exec rake db:migrate并得到以下错误信息: $ bundle exec rake db:migrate == 20141125234257 CreateUsers: migrating ====================================== — create_table(:users) -> 0.0079s == 20141125234257 CreateUsers: migrated (0.0080s) ============================= rake aborted! StandardError: An error has occurred, this and all later migrations canceled: wrong number of arguments (1 for 0)/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/connection_adapters/abstract_adapter.rb:271:in `initialize’ /usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/connection_adapters/abstract_adapter.rb:271:in […]