* Always skip style check for dev:check ci
* fix names and mysql 8 was barely being tested
* fix sql mode test
* safer vendor check
* flubbed the regex
* ...
* Mysql 8 fixes
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* port related errors
* more fixes
* fix storage count
* add tests for php8
* style
* only need not empty
* aix fixes....
* storage WIP
* fix aix discovering hrstorage
fix db test adding .gitkeep
fix os modules when discovery only
* fix aos processors wrong oid
* fix mempool number casting
* fix aos7 cpu
* use + 0 cast instead of floatval()
* more verbose error on invalid json
* remove invalid data in json
* actually fix the json
* correct json error fix
* cast_number() function
fix aruba-instant and aos6 bugs exposed by new function, probably more...
* fix a-f
fix inadequate sort for component data
* fix global port poll time
* fix mempools precent 0, route count, ntp const
* fix schleifenbauer liberal current usage
* further number casting refinement
* vrp
* fix tests
* fix arbos
* warn cleanups adjust to :: change
* fix ciena-sds
* fix drac
* fix dell-rpdu anddlink
* fix and improve arubaos
better error when getting an array in Processor
* fix atenpdu, add missing arubaos files
* aruba-instant to yaml
apparently I didn't need to do this, the diff just looks really odd
It did add ranged sub-index replacements
* docker app, was completely wrong... fixed
* fix sentry4 divide by 0...
* fixed root issue, remove check
* nicer cidr in ipv6 code
* remove bogus enuxus battery bank skip_values
* Fix InfluxDB tests
* remove extra import
* fix other style issues.
* influx "style" fixes
* Faster initial database creation
Add db dumps to improve initial db migration
On my test system 13s -> 7s, a 46% reduction.
Should help out a lot on systems like RPi
* lnms schema:dump command
--snapshots saves db snapshots, otherwise it saves the yaml
* fix style
* fix timezones...
* not working with in-memory db yet
remove build.sql
* WIP Sqlite
Down methods don't work either, avoid them with refresh for now.
WIP persistent support
WIP db_schema
WIP db_schema 2
Update new migrations...
revert dump_db_schema changes for now, too much difference.
fix migrations on mysql
fix up some more items, this should be our target schema
lots of index renames and a two misc changes
index rename WIP
index rename WIP
another round
fix up new schema changes
try case insensitive fix
Trying tests WIP
fix down methods
DBSetupTest working (uses mysql)
Test sqlite migrations work
* Properly validate sqlite output
* revert glue changes, should be separate PR
* remove dusk workaround
* remove unused variables
* import
* sqlite capitalization
* Revert some refresh tests
* testing_mysql back to testing
* Refactor tests
Boot Laravel for all tests.
Config use private static property for storage instead of global
* Backup/restore modules
* disable snmpsim log
* Fixing DBTestCase
* Fix macros loading to the wrong place
* trap and other tests should check if db is available
* don't include snmp.inc.php if mock.snmp.inc.php is already included...
* fix migration
* if we don't reset the db, run migrations at least.
* set vars for migrate too
* Fix style
* ignore issues with undefined indexes in legacy code
* Laravel 5.8
and dependencies
* Fix cache time
* upstream base file changes
* Accidentally ran composer with PHP 7.3
* fix test error
* one more
* one more
* one more
* fix dotenv loading
* Reorganize trap tests
* Testing db DRIVER to prevent .env from interfering
* New code to detect if Laravel is booted. Hopefully more reliable.
* WIP external test process
* revert module test helper
* Use .env in Eloquent::boot()
* Fix test database settings loading
* fix undefined classes
(didn't find the one I needed)
* Fix incorrect Config usages
And RrdDefinition return type
* fix .env loading
* use the right DB
* slightly more accurate isConnected
* Move db_name to DBSetupTest specifically
* restore $_SERVER in AuthSSOTest
* missed item
* WIP
* tear down in the correct order.
* some testing cleanups
* remove check for duplicate event listener, it's not working right
* Don't need this change anymore
* Implement Log::event to replace legacy function log_event()
* fix port tests
* fix up tests
* remove pointless TrapTestCase class
* fix style
* Fix db config not being merged...
* skip env check for tests
* defer database operations until after Laravel is booted.
* don't include dbFaciale...
* redundant use
* Reorganize trap tests
* Testing db DRIVER to prevent .env from interfering
* New code to detect if Laravel is booted. Hopefully more reliable.
* WIP external test process
* revert module test helper
* Use .env in Eloquent::boot()
* Fix test database settings loading
* fix undefined classes
(didn't find the one I needed)
* Fix incorrect Config usages
And RrdDefinition return type
* fix .env loading
* use the right DB
* slightly more accurate isConnected
* Move db_name to DBSetupTest specifically
* restore $_SERVER in AuthSSOTest
* missed item
* WIP
* tear down in the correct order.
* some testing cleanups
* remove check for duplicate event listener, it's not working right
* Don't need this change anymore
* Implement Log::event to replace legacy function log_event()
* fix port tests
* fix up tests
* remove pointless TrapTestCase class
* fix style
* Add migrations and seeds
* Fix spacing validation issues
* Fix linting
* Update tabs to spaces
* Update daily and install process
* Make build-base.php use the new migrations if empty or at dbschema 1000.
Seed 1000 into the database.
Temp fix for the route table index length (this table basically isn't used...)
* Fix typo in seed.
Hard code legacy schema checks to version 1000 (999 would have worked as is)
* Port association table no longer exists
* Make database validate again
* DB schema, remove as many DB::statement as possible
* update migrations
add librenms cli entry point (artisan)
update validate to check laravel migrations
* remove statements from users migration
* Fix up daily.sh and the 1000 migration
* Update migrations to current state
Take advantage of environment variables to set DB credentials.
* Fix style issues
* Update schema
* fix test db collation
* Fix migration table definition
* update db migrations
* Update migrations
* Update stats callback. Just count the total migrations applied.
* Update 1000.sql.
* update migrations
* remove the graph type seeder, it is no longer needed
* update docs
* fix whitespace
* remove extra schema
* update tests
* fix sort
* add message
* dbSchema should actually be 1000
* add character set to db create
* Fix some artisan issues
* Update schema
Gut dbFacile
mres() now does nothing... could have some vulnerable queries, but most are ok
TODO
- [x] IRC client broke
- [x] Install broke
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
* Initial start on new templating support
* further updates
* more updates
* More working version
* Last fixes
* Small updates
* modified test to look for dbname.
* Schema update
* Added fix for not being able to disable Philips Hue transport
* Updated sql file
* Updated db_schema
* Set myclabs/deep-copy to be 1.7.x version in composer
* Fixes from murrant
* Forced nikic/php-parser to version 3.1.x in composer
* Updated composer to use custom fork of string-blade-compiler + fixed transport use
* Updated to always use correct template
* Merged legacy and blade templating engines
* Removed template type + fixed test-alert.php
* Added more template placeholders
* Added ability to reference data in templates as $alert->X
* Updated docs for templates
* Updated db_schema.yaml
* Added $alert->builder
* Clarify the use of $alert->builder
* Fixed the use of $alert->transport
* renamed schema file
* Added template validation
* Small update to fix travis issue
* Add Docs text to title bar
* Updated amqp to new of version
* Consistency in alert rule and template title bars
* Refactor database and config init
Connect to the database without loading full config
Load config completely so post-processing is always done consistently.
Erase existing $config when loading, fixes issues in case we load the config twice.
If the database is not connected, don't try to load database settings. (Fixes some db errors on install)
Attempt to remove $config access/modification before init.php
Remove usage of db_name, that might not match the connected database.
Centralize db config loading, so we consistently apply db_test database settings.
Many of these changes are influenced by Laravel port.
* Some safety so we don't assign strings to numeric port field
Smooth out phpunit bootstrap
* Fix a couple of scrutinizer warnings.
* Update database tests to prepare for more
Add test_db_name, test_db_user, test_db_pass to allow developers to have a dedicated testing database.
Extract DBTestCase to include common functionality for database based tests. Use transactions to isolate tests.
Enable STRICT_TRANS_TABLE, test for it's existence (only when we have a user that can set it)
Move the database cleanup to register_shutdown_function, this makes it happen every time at the end of tests.
If the was not empty, only truncate the tables (that aren't prepopulated) instead of drop the database.
Use our schema functions for schema tests.
Fix some missing array indexes so it doesn't clutter test output.
* Fix style
* fix: Allow unit tests without a sql server
* Fix db connection in bootstrap.php
Mark tests as skipped
Make sure the sql queries in bootstrap.php have run
* Unit test to validate the db schema
Changes build-schema.php to just write misc/db_schema.yaml
* Only build base if needed
Fix 178.sql
* Database is always created by init.php
add dbSchema test too, should guard against testing against an empty database
* feature: support non-standard unix socket (#5724)
* Add support for custom MySQL unix-socket
* NULL must be lowercase!
* Naive edit of html/install.php
* fixup
* Refactor dbConnect
Use it everywhere
* $config needs to be global
Don't need to set $database_link
* small cleanups
* Connect to the database for every test.
* travis fix for blank line
* initial work to standardise collation
* more updates
* final bits for collation update (famous last words)
* Rename 165.sql to 166.sql
* Update schema version inside 166.sql
* moved schema file 166->171