грабли: db migrate ничего не возвращает - PullRequest
1 голос
/ 08 января 2011

Я создал модель статьи и добавил следующий код в 001_create_articles.rb

class CreateArticles < ActiveRecord::Migration
  def self.up
create_table :articles do |t|
    t.string :title
    t.text   :body
    t.string :published_at

    t.timestamps
end
  end
def self.down
drop_table :articles
end
end

Тогда я попытался запустить

rake db:migrate --trace
Я не получаю никакого вывода, консоль просто мигает в течение минуты. Выход граблей составляет
C:\InstantRails-2.0-win\rails_apps\blog>rake db:migrate --trace
(in C:/InstantRails-2.0-win/rails_apps/blog)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump

также rake: db migrate не работает ни в одном из моих проектов

Также сервер Mysql работает, и я могу войти на сервер. Мой файл database.yml в порядке.

Это проблема конфигурации или я что-то упустил?

1 Ответ

1 голос
/ 08 января 2011

В вашей базе данных есть schema_migrations

, если файл уже был запущен, там будет номер версии, вы можете удалить записи в этой БД и запустить db: migrate, обратите внимание, что она, вероятно, удалит все вашиданные также.

Если вы хотите внести инкрементное изменение в БД без изменения данных, вы можете создать новую миграцию, которая изменяет существующую структуру базы данных, например:

note that you need to do this in a new migration file.
class AddAttachmentCxpp1ToCustomer < ActiveRecord::Migration
  def self.up
    add_column :customers, :cxpp1_file_name, :string
    add_column :customers, :cxpp1_content_type, :string
    add_column :customers, :cxpp1_file_size, :integer
    add_column :customers, :cxpp1_updated_at, :datetime
  end

  def self.down
    remove_column :customers, :cxpp1_file_name
    remove_column :customers, :cxpp1_content_type
    remove_column :customers, :cxpp1_file_size
    remove_column :customers, :cxpp1_updated_at
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...