CHANGELOG.md 3.4 KB
Newer Older
1 2 3 4 5 6 7 8
*   When table has a composite primary key, the `primary_key` method for
    sqlite3 and postgresql was only returning the first field of the key.
    Ensures that it will return nil instead, as AR dont support composite pks.

    Fixes #18070.

    *arthurnn*

9 10 11 12 13 14 15
*   `validates_size_of` / `validates_length_of` do not count records,
    which are `marked_for_destruction?`.

    Fixes #7247.

    *Yves Senn*

16 17 18 19 20 21
*   Ensure `first!` and friends work on loaded associations.

    Fixes #18237.

    *Sean Griffin*

22 23 24 25 26 27
*   `eager_load` preserves readonly flag for associations.

    Closes #15853.

    *Takashi Kokubun*

28
*   Provide `:touch` option to `save()` to accommodate saving without updating
29 30
    timestamps.

31
    Fixes #18202.
32 33 34

    *Dan Olson*

35
*   Provide a more helpful error message when an unsupported class is passed to
36
    `serialize`.
37

38
    Fixes #18224.
39 40 41

    *Sean Griffin*

42 43 44 45 46 47 48 49 50
*   Add bigint primary key support for MySQL.

    Example:

        create_table :foos, id: :bigint do |t|
        end

    *Ryuta Kamizono*

R
Ryuta Kamizono 已提交
51 52 53 54 55 56
*   Support for any type primary key.

    Fixes #14194.

    *Ryuta Kamizono*

57 58 59 60
*   Dump the default `nil` for PostgreSQL UUID primary key.

    *Ryuta Kamizono*

61 62 63 64 65 66
*   Add a `:foreign_key` option to `references` and associated migration
    methods. The model and migration generators now use this option, rather than
    the `add_foreign_key` form.

    *Sean Griffin*

67 68 69 70 71
*   Don't raise when writing an attribute with an out-of-range datetime passed
    by the user.

    *Grey Baker*

72 73 74 75 76
*   Replace deprecated `ActiveRecord::Tasks::DatabaseTasks#load_schema` with
    `ActiveRecord::Tasks::DatabaseTasks#load_schema_for`.

    *Yves Senn*

77 78 79
*   Fixes bug with 'ActiveRecord::Type::Numeric' that causes negative values to
    be marked as having changed when set to the same negative value.

Y
Yves Senn 已提交
80
    Closes #18161.
81 82 83

    *Daniel Fox*

84 85 86 87 88 89 90
*   Introduce `force: :cascade` option for `create_table`. Using this option
    will recreate tables even if they have dependent objects (like foreign keys).
    `db/schema.rb` now uses `force: :cascade`. This makes it possible to
    reload the schema when foreign keys are in place.

    *Matthew Draper*, *Yves Senn*

91 92 93 94 95 96 97 98
*   `db:schema:load` and `db:structure:load` no longer purge the database
    before loading the schema. This is left for the user to do.
    `db:test:prepare` will still purge the database.

    Closes #17945.

    *Yves Senn*

Y
Yves Senn 已提交
99
*   Fix undesirable RangeError by `Type::Integer`. Add `Type::UnsignedInteger`.
100 101 102

    *Ryuta Kamizono*

103 104 105 106 107 108
*   Add `foreign_type` option to `has_one` and `has_many` association macros.

    This option enables to define the column name of associated object's type for polymorphic associations.

    *Ulisses Almeida, Kassio Borges*

109 110 111 112 113
*   Remove deprecated behavior allowing nested arrays to be passed as query
    values.

    *Melanie Gilman*

114 115 116 117 118
*   Deprecate passing a class as a value in a query. Users should pass strings
    instead.

    *Melanie Gilman*

119 120 121 122 123
*   `add_timestamps` and `remove_timestamps` now properly reversible with
    options.

    *Noam Gagliardi-Rabinovich*

124 125 126 127 128 129 130
*   `ActiveRecord::ConnectionAdapters::ColumnDumper#column_spec` and
    `ActiveRecord::ConnectionAdapters::ColumnDumper#prepare_column_options` no
    longer have a `types` argument. They should access
    `connection#native_database_types` directly.

    *Yves Senn*

131
Please check [4-2-stable](https://github.com/rails/rails/blob/4-2-stable/activerecord/CHANGELOG.md) for previous changes.