The precision of the timestamps is controlled in our migrations,
and so any mismatch should be marked as an error.
The ar_internal_metadata is not controlled, but is timestamp(6) for
rails 6.0+ installations, and so this won't fail in CI.
It's unlikely there is an explotable attack here given than network
latencies and variability will swamp any local timing differences but
it's best practice and there's no reason not to.
Refs #4048
* We don't currently need a specific version suffix on the package names,
since ubuntu only ships with one ruby version (and newer versions on
e.g. 23.04 are fine).
* We don't need to explicitly install libruby, since it's pulled in by
other packages as required.
* Ubuntu again ships a decent enough version of bundler for our needs,
so we don't need to install it via rubygems.
Since rails 7, the `rails yarn:install` command no longer uses
bin/yarn and so a) doesn't detect yarn binaries named "yarnpkg"
(e.g. Ubuntu) and b) doesn't allow us to pass any flags to yarn,
(e.g. "--ignore-engines").
Since we want to avoid making the installation more difficult (by
e.g. installing yarn from other sources, or requiring particular
node versions) we can instead just use our existing bin/yarn script.
The reason Dockerfile did its own thing was to avoid pulling in
big chunks of rails, but bin/yarn is a standalone ruby script.
Fixes#3579
This removes both the pl/pgsql version and the shared library version
of the `tile_for_point` SQL function. This function was only used in some
old migrations, and is not required for production usage.
Removing this function simplifies the installation and configuration for
new developers.
These SQL functions are separate from the `tile_for_point` ruby/C function
which is part of the quad_tile gem. This function is still used when
creating and updating database records.
Fixes#3110.
This is seed data that should reasonably be loaded into every database,
even those that are otherwise empty (e.g. no geo data). Using the seeds
process means that it will usually be loaded by default, and is easier
to find for existing rails developers.