Проблема при добавлении столбца перечисления MySQL через Ruby-миграцию Rails - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь добавить столбец перечисления MySQL, выполнив:

# frozen_string_literal: true
class AddStatusToTasks < ActiveRecord::Migration[6.0]
  def up
    execute <<-SQL
        ALTER TABLE tasks ADD status enum('to_do', 'doing', 'done');
    SQL
  end
  def down
    remove_column :tasks, :status
  end
end

Но я получаю ошибку:

AddStatusToTasks: migrating =================================
-- execute("        ALTER TABLE tasks ADD status enum('to_do', 'doing', 'done');\n")
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: near "'to_do'": syntax error

Моя модель лайков выглядит так:

class Task < ApplicationRecord
  belongs_to :user
  enum status: { to_do: 'to_do', doing: 'doing', done: 'done' }
end

На самом деле я следую инструкции здесь , но не могу найти проблему.

Спасибо всем заранее за помощь!

1 Ответ

0 голосов
/ 08 мая 2019

SQLite3::SQLException - вы выполняете этот запрос к базе данных SQLite, а не к MySQL.Вы используете правильную среду?

...