Commit graph

471 commits

Author SHA1 Message Date
Tom Hughes
a274726f46 Add rate limiting for changeset comments
Fixes #4196
2023-08-25 19:53:04 +01:00
Milan Cvetkovic
ad164d384e Change provider name to "microsoft" 2023-08-20 10:19:30 +01:00
Milan Cvetkovic
ef6803416b Add migration script 2023-08-20 10:17:42 +01:00
Andy Allan
479c1575e1 Remove tile_for_point SQL functions
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.
2022-12-07 17:22:50 +00:00
Tom Hughes
12c1d5e6c0 Merge remote-tracking branch 'upstream/pull/3126' 2022-12-03 10:59:14 +00:00
Andy Allan
293ce4880e Standardise on openstreetmap-website instead of rails port
Fixes #3796
2022-11-16 12:16:45 +00:00
Tom Hughes
f76dfc77b8 Add missing PG_MODULE_MAGIC to database function source 2022-02-27 11:35:31 +00:00
Andy Allan
cc99d8169f Remove default values from id columns
In both the case of primary keys, and also foreign key references,
there's no need to set a default value.

This doesn't have a big impact in routine situations, but can be
very confusing when debugging corner cases.
2022-02-23 15:22:37 +00:00
Tom Hughes
7eafdca51c Update to rails 7.0.2.2 2022-02-16 14:26:57 +00:00
Tom Hughes
7d53525219 Index note comments by author and date
Fixes #3443
2022-02-01 18:48:18 +00:00
Tom Hughes
fea1b5b88d Fix new rubocop warnings 2021-12-28 19:47:51 +00:00
Tom Hughes
cf54b68f84 Restore accidentally deleted lines in database structure 2021-08-06 00:19:39 +01:00
Tom Hughes
81c3ebe03c Remove xid_to_int4 postgres function
Fixes #3288
2021-08-06 00:15:40 +01:00
Tom Hughes
d3c800fdb4 Fix new rubocop warnings 2021-06-29 18:29:00 +01:00
Tom Hughes
e222329d04 Add support for OAuth2 using doorkeeper 2021-05-18 12:05:32 +01:00
Tom Hughes
a71b8af4d1 Update to rails 6.1.3.2 2021-05-12 18:49:21 +01:00
Tom Hughes
84c601460f Add rate limiting to user friendships 2021-05-11 12:10:36 +01:00
Tom Hughes
1ba10fa9ac Drop monkey patch that is no longer required 2021-05-10 18:52:34 +01:00
Andy Allan
6c5c36deac Automatically enable the btree_gist extension
This simplifies the install instructions. Loading from structure.sql is already handled.
2021-03-10 18:24:36 +00:00
mmd-osm
4e6d729529 Remove /api/0.6/changes endpoint
Also removes sql functions which are only used by this endpoint
2021-02-03 14:06:34 +00:00
Tom Hughes
eada36ff96 Switch to using the zeitwork autoloader 2020-12-30 20:30:21 +00:00
Tom Hughes
e392556444 Revert "Switch to using the zeitwork autoloader"
This reverts commit 127880a73f.
2020-12-29 19:29:36 +00:00
Tom Hughes
5677877ed1 Fix case for zeitwork 2020-12-29 18:54:12 +00:00
Tom Hughes
384ac46102 Convert id column for oauth_nonces to bigint 2020-12-14 14:48:59 +00:00
Tom Hughes
22e56a9f36 Revert accidental changes to database structure 2020-10-08 09:51:04 +01:00
Tom Hughes
06a98ad983 Index changeset comments by changeset and date 2020-10-06 23:10:52 +01:00
Tom Hughes
1946c84f71 Index changeset comments by author and date 2020-10-06 22:42:44 +01:00
Andy Allan
865d20af80 Use the db:seed task to load languages
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.
2020-09-30 15:09:49 +02:00
Tom Hughes
18b9b9f14c Fix new rubocop warnings 2020-09-07 07:11:22 +01:00
Tom Hughes
b1e44c1eea Fix rubocop Style/CombinableLoops warnings 2020-09-02 18:27:11 +01:00
Tom Hughes
ecd84ccce8 Allow bundle path to be overridden when building database functions 2020-02-23 20:30:29 +00:00
mmd-osm
f47aaa58c3 travis: update structure.sql 2019-12-30 12:55:59 +01:00
Tom Hughes
57f5b7840e Fix rubocop warnings 2019-12-04 19:31:53 +00:00
Tom Hughes
e6667b7ff5 Fix rubocop warnings 2019-11-27 11:47:16 +00:00
Tom Hughes
22cd2314e5 Update to rails 6.0.1 2019-11-24 11:05:02 +00:00
Andy Allan
56d9b8a4ce Remove the users.nearby column
Refs #2417 and #2432
2019-11-20 15:07:42 +01:00
Matt Amos
689821c224 Ooops, forgot to commit changes to db/structure.sql 2019-10-21 15:05:16 +01:00
Matt Amos
d3d4cff1cf Add pure SQL version of xid_to_int4. 2019-10-21 14:47:46 +01:00
Tom Hughes
3e17c3aab6 Drop postgres 9.6 specific setting from structure.sql
Closes #2404
2019-10-20 19:22:47 +01:00
Matt Amos
809b194030 Reverting part of the db/structure.sql change which had been unintentionally committed. (perhaps PG version difference?) 2019-10-04 15:38:42 +01:00
Matt Amos
098e73479b Remove shared lib PG functions from committed DB structure. 2019-10-04 13:40:27 +01:00
Matt Amos
ced8ac86ab Remove need for shared library PostgreSQL functions
This repo contains code for three functions to be loaded into PostgreSQL as a shared library:

1. `maptile_for_point`, which is used only by the `/changes` API call. This API call is little-used and IMHO should be deprecated and removed. However, even now it's hardly on the hot path for most development activities.
2. `tile_for_point`, which is used only in migrations. At this point, it seems unlikely that anyone will be doing a migration on existing data which would call this function (most developers will be running migrations on an empty database, to set it up).
3. `xid_to_int4`, which is only used for replication using Osmosis and isn't used in the Rails code at all. Hopefully this will be replaced Real Soon Now, but until then it's a quite advanced feature that most developers won't need.

Therefore, this patch proposes to replace the above three shared library functions with SQL implementations of the first two. These are _much_ slower - by a factor of about 30x, however this makes no difference when they're run on a completely empty database. In return, we're able to drop a dependency on the PostgreSQL server development package, and clean a few lines out of the installation instructions.

It's still possible to make and install the shared library functions, and I've included instructions about how to do that - although it shouldn't be necessary for the vast majority of `openstreetmap-website` developers.
2019-10-04 13:25:00 +01:00
Tom Hughes
8a39c6b4a2 Drop old user image columns 2019-07-17 19:12:30 +01:00
Tom Hughes
826b70fdc5 Replace migrations that rely on models with rake tasks
Replace some migrations that rely on relationships between
models to add subscriptions with rake tasks.
2019-07-17 18:55:15 +01:00
Tom Hughes
227c402ad1 Don't try and add fingerprints for user images
It won't actually work, and anybody migrating up to the current
schema is never going to use the fingerprints anyway.
2019-07-17 18:49:09 +01:00
Andy Allan
d130db9fa8 Avoid more models in old migrations
Although these migrations run fine today, they could break in the future
if changes are made to the current model code.
2019-07-17 12:16:20 +02:00
Andy Allan
6ebb21b660 Avoid using live models in old migrations
Instead, we define models in the migrations themselves. This ensures that
column names etc match the state of the database during the migration,
not the current live version of the model.
2019-07-17 11:52:02 +02:00
Tom Hughes
cd4ac6ac2d Revert accidental schema changes 2019-07-15 09:27:52 +01:00
Tom Hughes
550fa0c8e4 It's to_sym not to_symbol 2019-07-15 08:39:20 +01:00
Tom Hughes
ba627420a3 Add support for Active Storage attachments 2019-07-09 19:17:29 +01:00