Ruby / Rails - Миграция активной базы данных на MySQL - тип отметки времени? - PullRequest
2 голосов
/ 04 ноября 2010

Я использую Redmine, и когда я запускаю миграцию rake db, база данных создается в mysql ok.Моя проблема в том, что поле даты неверно. Я хочу, чтобы это был тип отметки времени mysql, но вместо этого это тип DATETIME в MySQL .

class CreateChats < ActiveRecord::Migration
  def self.up
    create_table :chats do |t|
      t.column :message, :string
      t.column :user, :integer
      t.column :sendDate, :timestamp
    end
  end

  def self.down
    drop_table :chats
  end
end

Кроме того, если я внесу изменение в эту миграцию, как его получить?переделать таблицу (удаление не работает)?

1 Ответ

3 голосов
/ 04 ноября 2010

Вы всегда можете вставить столбец с пользовательским типом, если хотите. Имена символов автоматически преобразуются в то, что определяет ActiveRecord, но если вы используете простую строку, она выглядит как есть:

t.column :ar_timestamp, :timestamp
t.column :mysql_timestamp, 'timestamp'

То, что вы получаете: ar_timestamp - обычный тип DATETIME, где mysql_timestamp определяется как TIMESTAMP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...