Сегодня я добавил новую миграцию в мое приложение rails и запустил rake db: migrate.Миграция добавила новую таблицу.
Это привело к добавлению по умолчанию nil ко всем моим первичным ключам.Я не добавил никаких новых гемов и развернул некоторый код для подготовки вчера.
Я включил изменение для одной таблицы, но это относится ко всей моей схеме.
Моя версия rails5.1.4.
До:
create_table "faqs", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name", null: false
t.text "description", null: false
t.boolean "default", default: false, null: false
t.integer "order", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
После:
create_table "faqs", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name", null: false
t.text "description", null: false
t.boolean "default", default: false, null: false
t.integer "order", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
Вот миграция:
class AddDataProtectionRequest < ActiveRecord::Migration[5.1]
def change
create_table :data_protection_requests do |t|
t.string :email, null: false
t.string :first_name, null: false
t.string :last_name, null: false
t.text :body
t.boolean :data_request, default: false
t.boolean :data_removal, default: false
t.string :request_token
t.datetime :token_expiry
t.timestamps
end
end
end