From 1745e905a314754b65eabc5fa28671c80796f09f Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Fri, 25 Jan 2019 22:01:07 +0900 Subject: Allow changing text and blob size without giving the `limit` option In MySQL, the text column size is 65,535 bytes by default (1 GiB in PostgreSQL). It is sometimes too short when people want to use a text column, so they sometimes change the text size to mediumtext (16 MiB) or longtext (4 GiB) by giving the `limit` option. Unlike MySQL, PostgreSQL doesn't allow the `limit` option for a text column (raises ERROR: type modifier is not allowed for type "text"). So `limit: 4294967295` (longtext) couldn't be used in Action Text. I've allowed changing text and blob size without giving the `limit` option, it prevents that migration failure on PostgreSQL. --- .../db/migrate/20180528164100_create_action_text_tables.rb | 13 +++++++++++++ .../db/migrate/2018052816_create_action_text_tables.rb | 13 ------------- actiontext/test/dummy/db/schema.rb | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 actiontext/test/dummy/db/migrate/20180528164100_create_action_text_tables.rb delete mode 100644 actiontext/test/dummy/db/migrate/2018052816_create_action_text_tables.rb (limited to 'actiontext/test') diff --git a/actiontext/test/dummy/db/migrate/20180528164100_create_action_text_tables.rb b/actiontext/test/dummy/db/migrate/20180528164100_create_action_text_tables.rb new file mode 100644 index 0000000000..e7c66ea6ae --- /dev/null +++ b/actiontext/test/dummy/db/migrate/20180528164100_create_action_text_tables.rb @@ -0,0 +1,13 @@ +class CreateActionTextTables < ActiveRecord::Migration[6.0] + def change + create_table :action_text_rich_texts do |t| + t.string :name, null: false + t.text :body, size: :long + t.references :record, null: false, polymorphic: true, index: false + + t.timestamps + + t.index [ :record_type, :record_id, :name ], name: "index_action_text_rich_texts_uniqueness", unique: true + end + end +end diff --git a/actiontext/test/dummy/db/migrate/2018052816_create_action_text_tables.rb b/actiontext/test/dummy/db/migrate/2018052816_create_action_text_tables.rb deleted file mode 100644 index 6e7177620f..0000000000 --- a/actiontext/test/dummy/db/migrate/2018052816_create_action_text_tables.rb +++ /dev/null @@ -1,13 +0,0 @@ -class CreateActionTextTables < ActiveRecord::Migration[6.0] - def change - create_table :action_text_rich_texts do |t| - t.string :name, null: false - t.text :body, limit: 16777215 - t.references :record, null: false, polymorphic: true, index: false - - t.timestamps - - t.index [ :record_type, :record_id, :name ], name: "index_action_text_rich_texts_uniqueness", unique: true - end - end -end diff --git a/actiontext/test/dummy/db/schema.rb b/actiontext/test/dummy/db/schema.rb index 71080a1c69..5216c5fd33 100644 --- a/actiontext/test/dummy/db/schema.rb +++ b/actiontext/test/dummy/db/schema.rb @@ -14,7 +14,7 @@ ActiveRecord::Schema.define(version: 2018_10_03_185713) do create_table "action_text_rich_texts", force: :cascade do |t| t.string "name", null: false - t.text "body", limit: 16777215 + t.text "body" t.string "record_type", null: false t.integer "record_id", null: false t.datetime "created_at", precision: 6, null: false -- cgit v1.2.3