代码之家  ›  专栏  ›  技术社区  ›  Joshua Enfield Daij-Djan

Ruby/Rails-活动记录数据库迁移到MySQL-时间戳类型?

  •  2
  • Joshua Enfield Daij-Djan  · 技术社区  · 16 年前

    我正在使用Redmine,当我运行rake db迁移时,数据库将在mysql ok中创建。我的问题是日期字段错误。 我希望它是一个mysql时间戳类型,但它在mysql中是一个datetime类型 .

    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 回复  |  直到 16 年前
        1
  •  3
  •   tadman    16 年前

    如果需要,可以随时插入具有自定义类型的列。符号名称将自动转换为ActiveRecord定义的任何内容,但如果使用纯字符串,则按原样输入:

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

    你得到的是 ar_timestamp 像往常一样 DATETIME 键入Where mysql_timestamp 定义为 TIMESTAMP .