标签: dbmigrate

如何使用rake db:migrate只回滚一步

在文件db/migrate夹中添加迁移文件并运行后rake db:migrate,我想回到上一步,我认为使用VERSION=n是正确的方法,但我不知道使用n的正确值.有没有命令检查当前的n值?

如果有人能提供有关如何使用的完整说明,那就太好了rake db:migrate.

rake ruby-on-rails dbmigrate

185
推荐指数
4
解决办法
12万
查看次数

在应用之前,如何判断"rake db:migrate"的变化是什么?

该命令rake db:migrate将所有相关的新迁移应用于数据库,并在输出中列出已应用的迁移.

我想事先知道将应用哪些迁移,以便记下生产环境中预期的更改列表.

是否有一个我可以结合使用的选项rake db:migrate,它将告诉我在不实际应用的情况下将应用哪些更改?

rake ruby-on-rails dbmigrate

27
推荐指数
1
解决办法
2万
查看次数

使用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 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

==  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 auto_increment PRIMARY KEY, `first_name` varchar(25), `last_name` varchar(50), `email` varchar(255) DEFAULT '' NOT NULL, `password` varchar(40), `created_at` datetime, `updated_at` datetime) ENGINE=InnoDBC:/Users/Lizanne/Documents/Code/Sites/simple_cms/db/migrate/20151116154434_create_users.rb:3:in `up'
C:in `migrate' …
Run Code Online (Sandbox Code Playgroud)

mysql rake ruby-on-rails primary-key dbmigrate

23
推荐指数
3
解决办法
1万
查看次数

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

我正在研究Hartl ruby​​ on rails教程(第2.2节),我在迁移数据库时遇到了问题.一切似乎都在工作,然后我运行rails generate scaffold User name:string email:string Afterwards我试图运行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 `new'
/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 `substitute_at'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/relation.rb:97:in `block in substitute_values'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/relation.rb:96:in `each'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/relation.rb:96:in `each_with_index'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/relation.rb:96:in `substitute_values'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/relation.rb:56:in `insert'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/persistence.rb:521:in `_create_record'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/counter_cache.rb:139:in `_create_record'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/attribute_methods/dirty.rb:122:in `_create_record'
/usr/local/rvm/gems/ruby-2.1.4@rails4/gems/activerecord-4.2.0.beta4/lib/active_record/callbacks.rb:306:in `block in …
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails migrate scaffold dbmigrate

22
推荐指数
2
解决办法
5535
查看次数

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

我正在尝试在我的一个表中添加一个额外的字段.

我在迁移文件中添加了该字段(在db\migrate下),然后运行了'rake db:migrate',它运行没有麻烦.我的文本编辑器甚至告诉我我的schema.db文件已经更新,需要刷新.

模式文件不包含我的新字段,任何从我的视图引用该字段的尝试都会失败.

我该怎么做呢?可以通过rails更新带有额外字段的表,而不必完全删除并重新创建数据库吗?

ruby-on-rails dbmigrate schema.rb

21
推荐指数
3
解决办法
3万
查看次数

获取:"迁移正在等待;运行'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"建议.

什么导致错误的线索?

ruby-on-rails dbmigrate ruby-on-rails-4

21
推荐指数
3
解决办法
8万
查看次数

如何将我的MySQL数据库传输到另一台计算机?

我在自己的桌面上使用XAMPP软件包,将Window 7作为操作系统.
这意味着我正在使用MySQL DB和Apache服务器.

现在我想将我的整个MySQL数据库复制/迁移到我朋友的桌面,也就是使用Window作为操作系统,还使用XAMPP包.

我有什么方法可以做到这一点吗?

php mysql xampp dbmigrate

14
推荐指数
3
解决办法
5万
查看次数

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'
             /Users/gregg/.heroku/client/lib/heroku/command/run.rb:24:in `index'
             /Users/gregg/.heroku/client/lib/heroku/command.rb:218:in `run'
             /Users/gregg/.heroku/client/lib/heroku/cli.rb:28:in `start'
             /usr/bin/heroku:24:in `<main>'

Command:     heroku run rake db:migrate
Version:     heroku-toolbelt/3.2.1 (x86_64-darwin10.8.0) ruby/1.9.3
Run Code Online (Sandbox Code Playgroud)

当我拖尾日志时,我看到以下内容:

2014-01-04T20:27:56.438268+00:00 heroku[run.3167]: Awaiting client
2014-01-04T20:27:56.531495+00:00 heroku[run.3167]: …
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails heroku dbmigrate

11
推荐指数
1
解决办法
4210
查看次数

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
Run Code Online (Sandbox Code Playgroud)

我知道这是它在生产数据库中找到的,但为什么它们是在null: false那里创建的而不是在开发数据库中?

mysql rake ruby-on-rails dbmigrate ruby-on-rails-3

10
推荐指数
1
解决办法
1816
查看次数

在Mysql中使用'Stuff'和'FOR XML PATH'替代以下存储的Ms-sql程序

我在Ms-Sql中有以下查询

  INSERT INTO tbl_web_price_update 

    Select bd_book_code,

    Case 
        When pd.bpd_price is null then  
            cast((a.bd_price*c.ptm_price) as numeric(10))   
        else
            cast((pd.bpd_price*c.ptm_price) as numeric(10))             
        end
    As Price

    from tbl_books_details a 
        inner join tbl_price_type_master c on a.bd_price_type = c.ptm_price_type_id 
        left join tbl_books_price_details pd on pd.bpd_book_code = a.bd_book_code 
    Where c.ptm_price_type_id = @price_type     

    SELECT distinct r.price, STUFF((SELECT distinct ','+ Cast(a.bd_book_code as varchar) FROM tbl_web_price_update a WHERE r.price = a.price FOR XML PATH(''), TYPE).value('.','VARCHAR(max)'), 1, 1, '') FROM tbl_web_price_update r
Run Code Online (Sandbox Code Playgroud)

我已经从ms-sql迁移到my-sql,我无法在Mysql中编写替代查询.请帮忙.

mysql sql-server dbmigrate

9
推荐指数
1
解决办法
1万
查看次数