Tag: 迁移

Ruby on Rails:如何使用迁移向现有列添加非空约束?

在我的Rails(3.2)应用程序中,我有一堆表在我的数据库,但我忘了添加一些非空约束。 我search了一下,但我找不到如何编写一个迁移,现有的列添加不为空。 TIA。

在导轨中删除模型(“导轨g模型标题”的反转)

rails g model Rating user_id:integer message:string value:integer 我怎样才能完全删除这个模型? 谢谢

Rails迁移has_and_belongs_to_many连接表

我如何做一个script/generate migration来创buildhas_and_belongs_to_many关系的连接表? 该应用程序在Rails 2.3.2上运行,但我也安装了Rails 3.0.3。

如何在SVN上迁移/转换为Mercurial(hg)

我正在寻找一个工具,将几个SVN存储库迁移到Mercurial,包括历史logging,标签等等。 我正在使用TortoiseHg(Windows x32),所以ConvertExtensions被放弃。 有一些关于如何在Linux机器上执行这个过程的信息( hgsvn ),但是我没有Linux机器可用。 我可以在Windows上使用这些Python脚本吗? 如果是这样,我需要做什么? 或者,我可以使用其他什么工具来完成这个过程? 基本上,我怎样才能将SVN项目转换为Mercurial?

跟踪数据库模式更改的机制

跟踪和/或自动化数据库模式更改的最佳方法是什么? 我们的团队使用Subversion进行版本控制,并且我们已经能够以这种方式自动化我们的一些任务(将构build到临时服务器,将testing代码部署到生产服务器),但是我们仍然在手动进行数据库更新。 我希望find或创build一个解决scheme,使我们能够跨不同环境的服务器高效地工作,同时继续使用Subversion作为后端,通过它将代码和数据库更新推送到各种服务器。 许多stream行的软件包包括检测数据库版本并应用必要更改的自动更新脚本。 这是甚至在更大规模(跨多个项目,有时多个环境和语言)上做到这一点的最好方法吗? 如果是的话,是否有任何现有的代码简化了stream程,或者最好是推出我们自己的解决scheme? 有没有人实现过类似的东西,并将其集成到Subversion post-commit挂钩中,或者这是一个坏主意? 虽然支持多种平台的解决scheme是可取的,但我们绝对需要支持Linux / Apache / MySQL / PHP堆栈,因为大部分工作都在该平台上。

在现有的Rails列中添加:default => true以布尔值

我在这里看到了几个关于在现有列上添加默认布尔值的问题(即这个 )。 所以我尝试了change_columnbuild议,但是我不能这样做。 我试过了: $ change_column :profiles, :show_attribute, :boolean, :default => true 其中返回-bash: change_column: command not found 然后我跑了: $ rails g change_column :profiles, :show_attribute, :boolean, :default => true …和 $ rails change_column :profiles, :show_attribute, :boolean, :default => true 然后运行rake db:migrate ,但是:show_attribute的值保持nil 。 在上面引用的问题中,它在PostgreSQL中说你需要手动更新它。 由于我使用PostgreSQL,我在create_profiles迁移中添加了以下内容: t.boolean :show_attribute, :default => true 有人能告诉我我在做什么错吗?

如何在Rails迁移中将可空列更改为不可空?

我在之前的迁移中创build了一个date列,并将其设置为空。 现在我想改变它是不可空的。 假如数据库中有空行,我该怎么做? 如果他们目前为空,我可以将这些列设置为Time.now。

Rails 3迁移:添加引用列?

如果我创build一个新的轨道3迁移(例如) rails g migration tester title:tester user:references ,一切工作正常…但是,如果我添加一列沿线的东西: rails g migration add_user_to_tester user:references 参考字段不被识别。 简而言之,问题是:如何从命令行添加引用列到rails迁移?

快速简单的方法将SQLite3迁移到MySQL?

任何人都知道一个简单的方法将SQLite3数据库迁移到MySQL?

运行一个迁移文件

有一个简单的方法来运行一个单一的迁移? 我不想迁移到某个特定的版本,我只是想运行一个特定的版本。