Commit Graph

190 Commits (jtr/fix-public-exceptions-http-codes)

Author SHA1 Message Date
Faraz Samapoor 1e8ec53b8c Update core/Command/Db/ConvertType.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-19 12:55:15 +07:00
Faraz Samapoor 73d7c45ae1 Update core/Command/Db/ConvertFilecacheBigInt.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-19 12:55:15 +07:00
Faraz Samapoor d34cafc58c Update core/Command/Db/Migrations/MigrateCommand.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-19 12:55:15 +07:00
Faraz Samapoor f1a19a10fc Update core/Command/Db/Migrations/StatusCommand.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-19 12:55:15 +07:00
Faraz Samapoor b5cbba7fc1 Uses PHP8's constructor property promotion in core/Command/Db classes.
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-06-19 12:55:15 +07:00
Robin Appelman db43d90387
add new index in repair step instead of on-migrate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-04-28 15:08:08 +07:00
Louis Chemineau bda66f9fb6 Add parent index on filecache
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-03-20 15:02:23 +07:00
Vitor Mattos fd4c53f311 Fix typo that added a letter to migration template
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-02-25 12:48:22 +07:00
Roeland Jago Douma aaf9b9c4fd
properly typehint generated migrations
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2022-10-09 21:26:16 +07:00
timm2k 6ff58d30b4
Update ConvertFilecacheBigInt.php
Signed-off-by: timm2k <timm2k@gmx.de>
2022-09-14 10:15:16 +07:00
Marcel Klehr 047cc708d4 DB mounts table: Add index for mount_provider_class
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-08-01 14:27:34 +07:00
Carl Schwan b70c6a128f Update core to PHP 7.4 standard
- Typed properties
- Port to LoggerInterface

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-20 22:18:06 +07:00
Joas Schilling 60801d8b1c
Fix strict comparison
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-27 20:31:40 +07:00
Joas Schilling 2ffcc08332
Fix type fixing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-25 16:49:23 +07:00
Joas Schilling 7ee982005a
Give hints on correct migration versioning
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-25 16:21:25 +07:00
Julius Härtl 7fbd93b2ad
Additional index on oc_preferences to make sure that gettingh values without a user filter is fast
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-04-19 12:37:36 +07:00
Côme Chilliet 9191ca43ce
Merge pull request #31735 from nextcloud/fix/noid/mig-generator-copyright
migration generator also includes copyright section
2022-03-29 16:49:43 +07:00
Côme Chilliet 765999f454
Merge pull request #31609 from nextcloud/fix/migrate-away-from-ilogger
Migrate from ILogger to LoggerInterface in lib/private
2022-03-29 09:39:38 +07:00
Arthur Schiwon ee006563ae
migration generator also includes copyright section
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-03-28 15:35:17 +07:00
Côme Chilliet ea23523c70
Adapt more code to migration to LoggerInterface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +07:00
Louis Chemineau 970fb7ce65 Don't create cards_abiduri it if already exists
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-03-24 10:42:22 +07:00
Christoph Wurst c1000fe344
Merge pull request #31304 from nextcloud/feature/dry_run_for_add_indices
Add --dry-run option for add-missing-* cmd
2022-02-28 09:59:40 +07:00
Louis Chemineau 405c5eb813 Add --dry-run option for db:add-missing-* cmd
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-02-24 16:42:08 +07:00
Carl Schwan db6927ee05 Improve performance when converting between DBs
Use a transaction when doing multiple inserts increase the writing
speed.

Ref: https://stackoverflow.com/a/68495887

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-02-16 18:28:06 +07:00
Julius Härtl 415294e345
Add index for direct editing cleanup job
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-02-07 09:25:27 +07:00
Carl Schwan 6312c0df69
Check style update
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 00:19:07 +07:00
Christoph Wurst ed84f07784
Add missing index for propertypath only queries against properties
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-23 15:51:50 +07:00
Joas Schilling 536a812de4
Add an index for selecting the next job
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-01 23:57:40 +07:00
Robin Appelman 695326534c
disable path prefix index on postgresql for now
having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement.
to prevent making it harder to add the correct index later on we don't create the index for now on postgresql

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-08 18:39:22 +07:00
Robin Appelman abd6b354ac
add a prefix index to filecache.path
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.

Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.

Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-08 18:38:25 +07:00
Robin Appelman 6502dfae34
add better index for finding unindexed paths
for the following query 'SELECT "path" FROM "oc_filecache" WHERE ("storage" = $storage) AND ("size" < 0) ORDER BY "fileid" DESC LIMIT 1;'

currently the database will in some cases decide to priorize the sort by fileid over the filter when picking what index to use, resulting in a much slower query.

by creating an index that allows first sorting by fileid and also filter by storage and size this case will be greatly sped up

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 16:11:49 +07:00
Christoph Wurst bf564e2a5a
Convert command option defaults to strings
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-09 13:25:31 +07:00
Christoph Wurst 932a385c56
Merge pull request #27429 from nextcloud/bug/26085/wrong-data-add-order-by
Don't pass a column object to addOrderBy
2021-06-09 09:12:03 +07:00
Daniel Kesselberg 11cacf63f8
Fix #26085
addOrderBy expects a order expression. For the migration scenario we have column objects. Column objects are not supported by quoteColumnName yet.

A column object as order expression is most likely an edgy thing when migration database information.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-06-08 16:30:44 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Roeland Jago Douma 14ee17e5c5
Revert "add a prefix index to filecache.path" 2021-04-08 10:09:13 +07:00
Morris Jobke ab48d5e8cb
Cleanup unneeded code around database.xml
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-24 22:15:44 +07:00
Joas Schilling bb0c50717c
Bye bye database.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-24 20:04:12 +07:00
Robin Appelman b28f0a0e94
add a prefix index to filecache.path
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.

Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.

Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 18:52:25 +07:00
Simon Spannagel 244e13cd43
DB conversion: improve console output
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2021-03-17 14:35:40 +07:00
Christoph Wurst c1d4f8161b
Migrate internal classes to the OCP db col types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 14:09:13 +07:00
Christoph Wurst 8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +07:00
Christoph Wurst 9ce3ea3368
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +07:00
Vincent Petry bdbec28a8f
Make oc_files_trash.auto_id a bigint
Adjusted migration.
Added to occ command to update existing tables.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-23 17:50:50 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Roeland Jago Douma ccd5ca5476
Merge pull request #23044 from nextcloud/migration-10.5
Handle owncloud migration to latest release
2020-12-10 14:32:13 +07:00
Julius Härtl c77e259cfe
Add missing index on oc_cards and rename if it previously existed
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-09 12:13:34 +07:00
Julius Härtl 8f6c2ec357
Move columns to bigint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-08 16:05:53 +07:00
Joas Schilling d5df033ede
Create primary keys on all tables and add a command to create the afterwards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:36:27 +07:00
timm2k 3f691c52dc
Update ConvertFilecacheBigInt.php 2020-10-26 09:18:56 +07:00
Joas Schilling 600381f82a
Make the migration template typed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-15 16:08:50 +07:00
Christoph Wurst d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +07:00
Robin Appelman 634c051be6
add size index for filecache
improves performance of #23004

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-22 15:15:34 +07:00
Morris Jobke 99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +07:00
Christoph Wurst 2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +07:00
Roeland Jago Douma 0157e30ad4
Merge pull request #21599 from nextcloud/debt/noid/type-to-types
Replace TYPE with TYPES
2020-07-02 12:21:01 +07:00
Daniel Kesselberg 87dd760a89
Replace TYPE with TYPES
As TYPE::* is deprecated.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-06-30 23:46:22 +07:00
Joas Schilling ab21d69903
Add return value to all commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-26 14:54:51 +07:00
Mario Danic 6e28c2807b
Add index to properties table
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2020-04-30 23:04:15 +07:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +07:00
Christoph Wurst 41b5e5923a
Use exactly one empty line after the namespace declaration
For PSR2

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:48:10 +07:00
Joas Schilling bc6a5ef5c4
Merge pull request #19890 from nextcloud/enh/comments-reference-id
Add optional comments reference_id
2020-04-02 11:34:21 +07:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +07:00
Joas Schilling 720dc4e93d
Add optional column oc_comments.reference_id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-31 10:51:15 +07:00
Christoph Wurst 6127c288e8 Fix license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-13 14:23:49 +07:00
Bernhard Ostertag 6a017eb205
Introduce new variable with the default answer to allow option --no-interaction for command occ db:convert-type
Variable is set to true for --no-interaction and false otherwise

Signed-off-by: Bernhard Ostertag <bernieo.code@gmx.de>
2019-12-29 11:03:51 +07:00
Bernhard Ostertag fe0e47bf5e
enable option '--no-interaction' for db:convert-type
Signed-off-by: Bernhard Ostertag <bernieo.code@gmx.de>
2019-12-27 07:50:30 +07:00
Christoph Wurst 1b46621cd3
Update license headers for 18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-20 09:23:25 +07:00
Georg Ehrke 699f3a6817
Convert various columns in oc_mounts to bigint
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-12-09 14:13:18 +07:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +07:00
Roeland Jago Douma 279c0cb2ed
Merge pull request #18098 from nextcloud/fix/migration_import_order
Fix the import order of new migrations
2019-11-25 14:11:09 +07:00
Roeland Jago Douma c7d5b8fc49
Merge pull request #18079 from nextcloud/fixes/phpcs
Some php-cs fixes
2019-11-25 14:07:00 +07:00
Roeland Jago Douma 20ec763337
Merge pull request #18027 from str0g/fix/14920/convert_type_boolean
Incorrect integer value: '' for column 'password_invalid' while migra…
2019-11-25 11:37:45 +07:00
Roeland Jago Douma f79d98e089
Fix the import order of new migrations
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-25 09:46:39 +07:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +07:00
Roeland Jago Douma decdb6b40f
Convert more columns to bigint
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-20 19:31:17 +07:00
Łukasz Buśko 23084558a6 Incorrect integer value: '' for column 'password_invalid' while migrating from pg to mysql #14920
Signed-off-by: Łukasz Buśko <busko.lukasz@pm.me>
2019-11-20 14:01:46 +07:00
Thomas Citharel 68cf47e947
Check and add index on principaluri for schedulingobjects table
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-08 10:25:56 +07:00
Thomas Citharel 90e5850cc4
Add index on calendarid for calendarobject_props table
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-07 22:03:15 +07:00
Joas Schilling 592093079f
Deduplicate index names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-27 13:32:59 +07:00
Joas Schilling 274658629d
Make sure all tables have named indexes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-27 13:32:59 +07:00
Maxence Lange 8002779200
add support for boolean default
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
code cleaning

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
code cleaning

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-01-09 11:21:14 +07:00
Roeland Jago Douma 16cc68a2fe
Add twofactor_providers_uid index
Fixes #12943

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-21 13:03:02 +07:00
Morris Jobke 17b2827bbf
Add setup check for pending bigint conversion
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-05 13:42:31 +07:00
Morris Jobke f57e334f83
Fix bigint conversion on SQLite
* on SQLite primary keys can't be bigint - see https://stackoverflow.com/a/18835967/520507

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-05 00:35:09 +07:00
Morris Jobke d3b4127164
Show columns to update in CLI interface
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-05 00:35:09 +07:00
Joas Schilling bb352fb667
Use the defined func()->count() instead of manual counting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +07:00
Morris Jobke 4d20c4272f
Fix index names
* see #11527
2018-11-06 15:21:16 +07:00
Roeland Jago Douma b82cbe04df
Add uid_owner and uid_initiator share tabe indices
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-01 23:59:36 +07:00
Christoph Wurst c5cd8d9166
Improve class import and strict typing for generated migration class
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-09-07 09:22:57 +07:00
Christoph Wurst eada4cccfc
Fix generated migration class code
The `@since` documentation is out of place here.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-08-21 07:50:12 +07:00
Morris Jobke 7da815bb04
Merge pull request #10298 from nextcloud/bugfix/talk-714/only-migrate-the-schema-when-moving-database
Only create the schema when moving between databases
2018-07-24 16:14:05 +07:00
Robin Appelman 91d3e48ab3
Add filecache index on mtime
Gives searching by mtime and "recent" a proper index to use

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-19 17:43:20 +07:00
Joas Schilling 891de38080
Only create the schema when moving between databases
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-19 15:32:36 +07:00
Roeland Jago Douma 2f59f389d2
Add parent index to share table
Fixes #9327

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-03 13:36:02 +07:00
Robin Appelman b40629ac8c
Add human readable description to migration steps
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-30 21:28:05 +07:00
Roeland Jago Douma 80cc8d0028
Emit event when running ./occ db:add-missing-indices
This allows apps to listen to this event in order to also update
indecies there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-24 18:03:10 +07:00
Joas Schilling f772b7b4dd
Add autocomplete to migration commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-05-03 16:52:56 +07:00