Skip to content

create_table with text limits

Andreas Brandl requested to merge ab/create-table into master

What does this MR do?

This implements #337792 (closed) and removes create_table_with_constraints, which was using subtransactions.

We remove the helper in version 2 and extend the Rails' method create_table to support t.text :something, limit: 128 (adding the limit attribute).

Additional benefit: We get to use change again, because it's a standard Rails helper.

For in-flight MRs using create_table_with_constraints, this will raise and will have to be changed.

How to setup and validate locally (strongly suggested)

Example migration:

    create_table :db_guides do |t|
      t.bigint :stars, default: 0, null: false
      t.text :title, limit: 128
      t.text :notes, limit: 1024

      t.check_constraint 'stars > 1000', name: 'so_many_stars'
    end

Does this MR meet the acceptance criteria?

Conformity

Edited by Andreas Brandl

Merge request reports