Tag: migration

Rails架构创建问题

我正在使用Jruby和rails 2.2.2。 我的问题是我的迁移未正确写入数据库模式。 这是我的迁移: class CreateNotes ‘ENGINE=MyISAM’) do |t| t.string :title t.text :body t.timestamps end execute “alter table notes ADD FULLTEXT(title, body)” end 这是它在schema.rb中生成的内容 create_table “notes”, :force => true do |t| t.string “title” t.text “body” t.datetime “created_at” t.datetime “updated_at” end add_index “notes”, [“title”, “body”], :name => “title” 我有两个问题: 如何将’ENGINE=MyISAM’纳入架构? 为什么我的执行语句变成add_index “notes”, [“title”, “body”], :name => […]

多个数据库连接:在错误的数据库中查找schema_migrations

我试图通过以下方式为我的一些迁移使用辅助数据库连接: # app/models/staging/migration.rb class Staging::Migration < ActiveRecord::Migration def self.connection ActiveRecord::Base.establish_connection(:staging_db).connection end end # db/migrate/_create_foo.rb class CreateFoo < Staging::Migration …. end 在我的database.yml中配置了staging_db连接。 当我运行rake db:migrate时,表foo在staging_db模式中正确创建,表schema_migrations在RAILS_ENV =开发连接中创建。 但是db:migrate报告以下错误(后续迁移失败): 表’staging_db.schema_migrations’不存在 有没有办法告诉Staging :: Migration在当前的RAILS_ENV连接中查找schema_migrations表? 顺便说一句,我知道staging_db不是RAILS_ENV感知的事实。 这对我来说很好,因为每个服务器都通过一个单独的database.yml来配置它的环境,而这个数据库不在我的仓库中。

使用rails迁移创建缺少的自动增量属性

我正在编写一个迁移,将非rails应用程序转换为rails的正确格式 – 由于某种原因,其中一个表没有在id列上设置自动增量。 在迁移过程中是否有快速启用它的方法,可能使用change_column或其他东西?

Rails迁移:PostgreSQL上的Bigint似乎失败了吗?

尝试使用bigint列创建表会创建标准整数列。 怎么可能出错? 我不知道从哪里开始寻找。 我在迁移中使用它: create_table :table_name do |t| t.integer :really_big_int, limit: 8 end 我正在使用Ruby 1.9.2,PostgreSQL 9.0.3和Rails 3.0.9。 我已经删除了数据库并多次运行迁移,但它仍然没有创建bigint列。

Rails应用程序错误 – ActiveRecord :: PendingMigrationError正在等待迁移; 运行’rake db:migrate RAILS_ENV = development’来解决此问题

创建数据库,创建表,数据存在。 但是在我重新启动Rails应用程序之后,我收到了这个错误。 该应用程序正在使用MySQL。 这有什么问题? 先感谢您

你如何改变你的Rails应用程序数据?

我已经看到很多关于ActiveRecord迁移的讨论,以及它们是否应该用于更改应用程序中的数据,有些人说是,有些人说不。 我的问题是,如果您没有使用迁移来执行此操作,那么您使用的是什么? 你写的另一个脚本? 我之后提出了关于替代方法的建议以及为什么它们可能比仅仅使用迁移更好。

MySQL的RENAME TABLE语句如何工作/执行?

MySQL有一个RENAME TABLE statemnt,允许您更改表的名称。 手册提到 重命名操作以primefaces方式完成,这意味着在重命名运行时,没有其他会话可以访问任何表 手册没有(据我所知)说明如何完成重命名。 是否创建了表的完整副本,给定了新名称,然后删除旧表? 或者MySQL在幕后做了一些魔术来快速重命名表? 换句话说,表的大小是否会影响RENAME表语句运行的时间。 还有其他可能导致块重命名的事情会严重阻塞吗?

清除旧的Rails迁移文件是个好主意吗?

我已经运行了大型Rails应用程序超过2年,而且我的ActiveRecord迁移文件夹日复一日地发展到150多个文件。 存在非常旧的模型,在应用程序中不再可用,仍在迁移中引用。 我想删除它们。 你怎么看? 您是否经常从代码库中清除旧迁移?

Rails FasterCSV“未加引号的字段不允许\ r或\ n”

我遇到了FasterCSV和我的rake db:种子迁移的问题。 我得到错误:“rake aborted!unquoted字段不允许\ r或\ n(第2行)”对以下seeds.rb数据: require ‘csv’ directory = “db/init_data/” file_name = “gardenzing020812.csv” path_to_file = directory + file_name puts ‘Loading Plant records’ # Pre-load all Plant records n=0 CSV.foreach(path_to_file) do |row| Plant.create! :name => row[1], :plant_type => row[3], :group => row[2], :image_path => row[45], :height => row[5], :sow_inside_outside => row[8] n=n+1 end 我已经搜索了这个问题的解决方案,并发现对于很多人来说这是一个UTF-8编码问题。 我已经尝试过要求iconv和:encoding […]