每次运行rake db:migrate
时,我的架构文件总是更改为此
# A bunch of comments up here
ActiveRecord::Schema.define(version: WHATEVER_MY_LATEST_VERSION_IS) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
end
它将更新架构版本,并运行迁移。将创建表,创建索引。它只留下我的schema.rb,但只有enable_extension
。运行rake db:schema:dump
将创建相同的模式文件。我在rails 4.1.10
上运行。
编辑我确实安装了pg gem(0.18.1)。没有出色的迁移。这个应用程序已经生产了2年多。它在过去一年左右一直在做这个问题,但我们每年只进行一次新的迁移,所以到目前为止我们还没有付出太多努力。我的DB yml非常标准:
defaults: &defaults
encoding: utf8
adapter: postgresql
database: <%= ENV['DATABASE_NAME'] %>
username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>
host: <%= ENV.fetch('DATABASE_HOST', 'localhost') %>
min_messages: WARNING
development:
<<: *defaults