Added practically everything I wanted to have in except for updating
columns.
Needed to name the schema namespace as Orm::SchemaNs to avoid collision
with the Orm::Schema class.
- unit tests with great coverage
- new schema constants
- a new prefix_indexes and engine DB conncetion configurations
Others:
- IsModel tag
- enhanced columnize in the BaseGrammar
- used a new columnize logic in all grammars
- new constants
- new container utils class for joining containers
- new DB::driver() getter for QSqlDriver
- avoid possible crash in tests with pretend, added empty log checks
- clang tidy, excluded to word from short variable names
- added u_fillable on models used in tests that need it
- added documentation for mass assignment
- added tests for mass assignment feature
- added new Torrent models for tests, which have set up u_fillable and
u_guarded differently
- added schema grammar, query post-processor, and schema builder, they
was needed for database column listing during a mass assignment
guarded attributes check, used to check if the given attribute is
a valid guardable column
- all tests are ran against SQLite test database too 🎉🔥
- removed default models connection for tests, because I'm testing
models for all database connections and the connection is controlled
by global test data, so every test is ran against all the
supported databases
- added test code controlled by TINYORM_TESTS_CODE preprocessor macro,
which enables connection override in the BaseModel
- build tests only when the "CONFIG += build_tests" was added to the
qmake command
added php script to create databases
- script creates MySQL and SQLite databases
- script populate this databases with test data
- connection credentials are provided through the DB_ env. variables
other changes
- added api to enable statement counters for the given connections
- added BaseModel::truncate test