Commit Graph

52 Commits

Author SHA1 Message Date
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 +01:00
Morris Jobke 4d20c4272f
Fix index names
* see #11527
2018-11-06 15:21:16 +01: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 +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