1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test
Jorge Manrubia f78a480818 Encourage deterministic encryption to remain unchanged
This implements several changes to encourage deterministic encryption to
remain unchanged. The main motivation is letting you define unique
indexes on deterministically-encrypted columns:

- By default, deterministic encryption will always use the oldest
encryption scheme to encrypt new data, when there are many.
- You can skip this default behavior and make it always use the current
encryption scheme with:

```ruby
deterministic: { fixed: false } # using this should be a rare need
```

- Deterministic encryption still supports previous encryption schemes
normally. So they will be used to add additional values to queries, for
example.
- You can't rotate deterministic encryption keys anymore. We can add
support for that in the future.

This makes for reasonable defaults:

- People using "deterministic: true" will get unique indexes working out
of the box.
- The system will encourage keeping deterministic encryption stable:
  - By always using oldest encryption schemes
  - By forbidding configuring multiple keys

But you can still opt-out of the default if you need to.
2021-04-01 15:02:15 +02:00
..
active_record/connection_adapters
activejob Fix end alignment 2021-03-21 15:46:36 +09:00
assets
cases Encourage deterministic encryption to remain unchanged 2021-04-01 15:02:15 +02:00
fixtures Initial extraction from active_record_encryption gem 2021-04-01 15:02:13 +02:00
migrations Show a warning when running no migration using SCOPE 2021-01-26 15:05:35 +01:00
models Encourage deterministic encryption to remain unchanged 2021-04-01 15:02:15 +02:00
schema Initial extraction from active_record_encryption gem 2021-04-01 15:02:13 +02:00
support Allow async executor to be configurable 2021-02-19 12:34:57 -05:00
config.example.yml Make we always type cast TimeWithZone objects before passing to mysql2 2021-02-11 22:45:14 +00:00
config.rb