Commit graph

50 commits

Author SHA1 Message Date
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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02:00
Joas Schilling
f772b7b4dd
Add autocomplete to migration commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-05-03 16:52:56 +02:00
Alecks Gates
3be2c558a5 Add mtime and storage_mtime to db:convert-filecache-bigint 2018-02-17 09:27:25 -06:00
Joas Schilling
4a5282ba21
Fix the type hints of migrations and correctly inject the wrapped schema into migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-17 11:37:36 +01:00
Bjoern Schiessle
41ee23a054
make occ command more generic
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-12-18 21:14:45 +01:00
Bjoern Schiessle
fda98ee917
add occ command to add a index to share_with at the share table
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-12-18 21:14:45 +01:00
Morris Jobke
0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Joas Schilling
6acf1d9524
Also update the activity table with this
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-13 11:46:50 +02:00
Joas Schilling
e2ec6b33ea
Add a command to manually migrate to big ints
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-13 11:42:15 +02:00
Joas Schilling
d5c2b98207
Fix missing "unsigned" on integer columns
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-19 20:09:10 +02:00
Joas Schilling
f877096a28
Fix typo in template for migration generation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-09 11:01:08 +02:00
Joas Schilling
b729cc2a02
Add *lob support for all tables
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:15 +02:00
Joas Schilling
087138f228
use template placeholders instead of html
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:15 +02:00
Joas Schilling
e023899078
Always order by all values, to make sure all entries are copied correctly
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:15 +02:00
Joas Schilling
1b7c1ad5c0
Only migrate to the current state
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:15 +02:00
Joas Schilling
10d7cbb71f
Use order by to avoid problems when chunking finds a same item again...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:12 +02:00
Joas Schilling
0a0dbbdf15
Remove generate change script which doesnt work with migrations anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:47:39 +02:00
Joas Schilling
3fedfe67b9
Use default connection parameters for utf8 4byte support
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:47:39 +02:00
Joas Schilling
42ed7a18cc
Skip migrations table because it was already done when creating the schema
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:47:39 +02:00
Joas Schilling
1d56b52761
Use migrations on convert
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:47:39 +02:00
Joas Schilling
9307aaee49
Core is converted, so this is dead code
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:47:39 +02:00
Joas Schilling
f6c48b1548
Add a script to generate a migration from database.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:45:38 +02:00
Lukas Reschke
3d2600b039
Add Phan plugin to check for SQL injections
This adds a phan plugin which checks for SQL injections on code using our QueryBuilder, while it isn't perfect it should already catch most potential issues.

As always, static analysis will sometimes have false positives and this is also here the case. So in some cases the analyzer just doesn't know if something is potential user input or not, thus I had to add some `@suppress SqlInjectionChecker` in front of those potential injections.

The Phan plugin hasn't the most awesome code but it works and I also added a file with test cases.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-20 22:48:13 +02:00
Joas Schilling
0f275b1550
Only create the migration directory when necessary
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-06 09:58:39 +02:00
Joas Schilling
5d9d1b1cb5 Allow to check the schema in pre and post as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
817783e4c7 Add a version to migrations, so parallel legacy branches can also have migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
df6b839b23 Add author and copyright
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
8c39e66619 Do not allow to go back on productive systems
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
194ef1a171 Adjust the code to use our interface and abstract
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
15eec7b83c Start migrations
Fixme:
- Install and update of apps
- No revert on live systems (debug only)
- Service adjustment to our interface
- Loading via autoloader

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Thomas Müller
43427e26d7
Add console command to migrate the charset 2017-04-28 09:35:36 +02:00
Joas Schilling
75eee315a3
Use false because null crashes the cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 22:43:19 +02:00
Joas Schilling
2961c735e3
Make sure blob columns are correctly converted as parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 17:11:57 +02:00
Morris Jobke
8a4466f9ae
Improve error message of charset convert script and behaviour
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-23 15:36:22 -06:00
Morris Jobke
3329f44a76
Address comments
* fix URL to documentation
* improve logic of UTF8mb4 check
* fix connection parameter creation - it's done already in ConnectionFactory::createConnectionParams
* remove unused attributes of MDB2SchemaReader

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-21 16:42:42 -06:00
Morris Jobke
713f684a8b
Adding tests for 4 byte unicode characters
* success on SQLite and Postgres
* failure on MySQL due to the limited charset that only supports up to 3 bytes

Add config option to update charset of mysql to utf8mb4

* fully optional
* requires additional options set in the database

only disable unicode test on mysql

Fixing ctor call

Adding docker based unit test execution for mysql utf8mb4

Add mysqlmb4 test configuration to Jenkinsfile

fix collation on utf8mb4

Properly setup charset and collation in the doctrine connection

Allow files containing 4-byte chars in case the database supports it

During setup of a mysql database we try to detect if charset 'utf8mb4' can be used

Fix mysql settings

Add console command to migrate the charset

Set ROW_FORMAT before setting collation to mb4

Also select tables with wrong collation

Faster MySQL docker

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-21 16:42:12 -06:00
Joas Schilling
8906b1cc95 Add autocomplete for db:* and log:*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-29 15:57:10 +02:00
Roeland Jago Douma
4b8de8ba8e
Fix dbconvert 2016-09-06 21:20:02 +02:00
Sander Ruitenbeek
3101f9e234 Rebranded to Nextcloud for the occ command line tool 2016-07-30 15:39:32 +02:00
Joas Schilling
ba87db3fcc
Fix others 2016-07-21 18:13:57 +02:00
Joas Schilling
df4d6063d0
Chunk the "db:convert-type" select queries, to not run out of memory so fast 2016-05-13 10:04:10 +02:00
Lukas Reschke
a4b19a5b1e
Rename files to be PSR-4 compliant 2016-04-06 11:00:52 +02:00