mirror of
https://github.com/silverqx/TinyORM.git
synced 2025-12-17 16:44:09 -06:00
added GitHub Actions Linux, MSYS2 UCRT64, MSVC ✨
- initial g++/clang build, ctest on MSYS2 UCRT64 on Windows Server 2022 - initial cmake build/ctest on Ubuntu 20.40 - initial cmake build/ctest on MSVC on Windows Server 2019 changed driver to QPSQL in tst_databasemanager This avoids crash when QMYSQL driver's dll is unavailable. QMYSQL driver is not shipped by default by Qt Windows MSVC installer.
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -5,3 +5,5 @@ core.eol=lf
|
||||
*.ico binary
|
||||
*.qm binary
|
||||
*.icns binary
|
||||
*.dll binary
|
||||
*.pdb binary
|
||||
|
||||
17
.github/resources/my.ini
vendored
Normal file
17
.github/resources/my.ini
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
[mysqld]
|
||||
# The default authentication plugin to be used when connecting to the server
|
||||
default_authentication_plugin=mysql_native_password
|
||||
|
||||
# General logging
|
||||
log-output=FILE
|
||||
|
||||
general-log=0
|
||||
general-log-file="merydeye-tinyorm-ga.log"
|
||||
|
||||
# Slow queries logging
|
||||
slow-query-log=1
|
||||
slow-query-log-file="merydeye-tinyorm-ga-slow.log"
|
||||
long-query-time=10
|
||||
|
||||
# Error Logging
|
||||
log-error="merydeye-tinyorm-ga.err"
|
||||
14
.github/resources/qt5env.sh
vendored
Normal file
14
.github/resources/qt5env.sh
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
QT_BASE_DIR=/opt/qt515
|
||||
|
||||
export QTDIR=$QT_BASE_DIR
|
||||
export PATH=$QT_BASE_DIR/bin${PATH:+:}$PATH
|
||||
|
||||
if [[ $(uname -m) == "x86_64" ]]; then
|
||||
export LD_LIBRARY_PATH=$QT_BASE_DIR/lib/x86_64-linux-gnu:$QT_BASE_DIR/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
|
||||
else
|
||||
export LD_LIBRARY_PATH=$QT_BASE_DIR/lib/i386-linux-gnu:$QT_BASE_DIR/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
|
||||
fi
|
||||
|
||||
export PKG_CONFIG_PATH=$QT_BASE_DIR/lib/pkgconfig${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH
|
||||
6
.github/resources/vcpkg-custom-triplets/x64-linux-dynamic.cmake
vendored
Normal file
6
.github/resources/vcpkg-custom-triplets/x64-linux-dynamic.cmake
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
213
.github/workflows/linux.yml
vendored
Normal file
213
.github/workflows/linux.yml
vendored
Normal file
@@ -0,0 +1,213 @@
|
||||
name: Linux
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- gh-actions
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: cmake build / ctest
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
compiler:
|
||||
- key: clang13
|
||||
apt: [ clang-13, lld, g++-11 ]
|
||||
command: clang++-13
|
||||
|
||||
- key: gcc11
|
||||
apt: [ g++-11 ]
|
||||
command: g++-11
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: PostgreSQL start service
|
||||
run: |
|
||||
sudo systemctl start postgresql.service
|
||||
|
||||
- name: PostgreSQL check service status
|
||||
run: |
|
||||
sudo systemctl status postgresql.service
|
||||
pg_isready
|
||||
|
||||
- name: PostgreSQL create TinyORM user
|
||||
run: >-
|
||||
sudo -u postgres
|
||||
psql --command="CREATE USER $DB_PGSQL_USERNAME PASSWORD '$DB_PGSQL_PASSWORD'"
|
||||
env:
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
|
||||
- name: PostgreSQL create TinyORM database
|
||||
run: |
|
||||
sudo -u postgres createdb --owner=$DB_PGSQL_USERNAME $DB_PGSQL_DATABASE
|
||||
env:
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
|
||||
- name: MySQL start service
|
||||
run: |
|
||||
sudo systemctl start mysql.service
|
||||
|
||||
- name: MySQL change TinyORM password
|
||||
run: >-
|
||||
mysql --host=$DB_MYSQL_HOST --user=$DB_MYSQL_USERNAME --password=$DB_MYSQL_PASSWORD_DEFAULT
|
||||
--execute="ALTER USER '$DB_MYSQL_USERNAME'@'$DB_MYSQL_HOST'
|
||||
IDENTIFIED BY '$DB_MYSQL_PASSWORD';"
|
||||
env:
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_PASSWORD_DEFAULT: ${{ secrets.DB_MYSQL_PASSWORD_DEFAULT }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: MySQL check service status
|
||||
run: >-
|
||||
sudo systemctl status mysql.service
|
||||
|
||||
mysqladmin --bind-address=$DB_MYSQL_HOST --user=$DB_MYSQL_USERNAME
|
||||
--password=$DB_MYSQL_PASSWORD ping
|
||||
env:
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: MySQL create TinyORM database
|
||||
run: >-
|
||||
echo "
|
||||
create database if not exists $DB_MYSQL_DATABASE
|
||||
default character set utf8mb4
|
||||
default collate utf8mb4_0900_ai_ci;" |
|
||||
mysql --host=$DB_MYSQL_HOST --user=$DB_MYSQL_USERNAME --password=$DB_MYSQL_PASSWORD
|
||||
env:
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: SQLite create TinyORM database
|
||||
run: |
|
||||
touch "$DB_SQLITE_DATABASE"
|
||||
env:
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
|
||||
- name: PHP disable Xdebug
|
||||
run: |
|
||||
sudo phpdismod -s cli xdebug
|
||||
|
||||
- name: testdata composer install (illuminate/database)
|
||||
uses: "ramsey/composer-install@v1"
|
||||
with:
|
||||
composer-options: >-
|
||||
--working-dir=${{ github.workspace }}/tests/testdata
|
||||
--prefer-dist --optimize-autoloader
|
||||
|
||||
- name: Create and Seed tables (MySQL, PostgreSQL, SQLite)
|
||||
working-directory: tests/testdata
|
||||
run: |
|
||||
php ./create_and_seed_database.php
|
||||
env:
|
||||
DB_MYSQL_CHARSET: utf8mb4
|
||||
DB_MYSQL_COLLATION: utf8mb4_0900_ai_ci
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
DB_PGSQL_CHARSET: utf8
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_HOST: ${{ secrets.DB_PGSQL_HOST }}
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
|
||||
- name: add-apt-repository gcc 11 and Qt 5.15.2
|
||||
run: |
|
||||
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-focal
|
||||
|
||||
- name: add-apt-repository Clang 13
|
||||
if: ${{ matrix.compiler.key == 'clang13' }}
|
||||
run: |
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main"
|
||||
|
||||
- name: apt update
|
||||
run: |
|
||||
sudo apt update
|
||||
|
||||
- name: apt install ${{ join(matrix.compiler.apt, ', ') }}, Qt 5.15.2 base, and ccache
|
||||
run: |
|
||||
sudo apt install -y ${{ join(matrix.compiler.apt, ' ') }} qt515base ccache
|
||||
|
||||
- name: ninja install latest version
|
||||
uses: seanmiddleditch/gha-setup-ninja@master
|
||||
with:
|
||||
destination: ${{ runner.workspace }}/../ninja-build
|
||||
|
||||
- name: TinyORM create build folder (${{ matrix.compiler.key }}-cmake-debug)
|
||||
run: |
|
||||
mkdir -p ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
|
||||
- name: ccache setup 🕺
|
||||
uses: Chocobo1/setup-ccache-action@v1
|
||||
with:
|
||||
install_ccache: false
|
||||
update_packager_index: false
|
||||
ccache_options: |
|
||||
compression = false
|
||||
max_size = 3G
|
||||
|
||||
# Doesn't work in the manifest mode, I'm using header library only (range-v3) so does not matter
|
||||
# for now, I leave it here anyway.
|
||||
- name: vcpkg set default triplet to x64-linux-dynamic
|
||||
run: |
|
||||
echo 'VCPKG_OVERLAY_TRIPLETS=${{ github.workspace }}/.github/resources/vcpkg-custom-triplets' \
|
||||
>> $GITHUB_ENV
|
||||
echo 'VCPKG_DEFAULT_TRIPLET=x64-linux-dynamic' >> $GITHUB_ENV
|
||||
|
||||
- name: TinyORM cmake configure (${{ matrix.compiler.key }}-cmake-debug)
|
||||
run: >-
|
||||
source .github/resources/qt5env.sh
|
||||
|
||||
cmake
|
||||
-S .
|
||||
-B ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
-G Ninja
|
||||
-D CMAKE_CXX_COMPILER:FILEPATH="${{ env.ccache_symlinks_path }}/${{ matrix.compiler.command }}"
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake"
|
||||
-D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON
|
||||
-D CMAKE_BUILD_TYPE:BOOL=Debug
|
||||
-D VERBOSE_CONFIGURE:BOOL=ON
|
||||
-D MATCH_EQUAL_EXPORTED_BUILDTREE:BOOL=OFF
|
||||
-D MYSQL_PING:BOOL=ON
|
||||
-D BUILD_TESTS:BOOL=ON
|
||||
|
||||
- name: TinyORM cmake build ✨ (${{ matrix.compiler.key }}-cmake-debug)
|
||||
run: >-
|
||||
source .github/resources/qt5env.sh
|
||||
|
||||
cmake --build ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
--target all --parallel 2
|
||||
|
||||
- name: TinyORM execute ctest 🔥
|
||||
working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
run: ctest
|
||||
env:
|
||||
DB_MYSQL_CHARSET: utf8mb4
|
||||
DB_MYSQL_COLLATION: utf8mb4_0900_ai_ci
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
DB_PGSQL_CHARSET: utf8
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_HOST: ${{ secrets.DB_PGSQL_HOST }}
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
221
.github/workflows/mingw.yml
vendored
Normal file
221
.github/workflows/mingw.yml
vendored
Normal file
@@ -0,0 +1,221 @@
|
||||
name: MSYS2 UCRT64
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- gh-actions
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: cmake build / ctest
|
||||
|
||||
runs-on: windows-2022
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
compiler:
|
||||
- key: clang
|
||||
pacboy: [ 'clang:u', 'gcc:u' ]
|
||||
command: clang++.exe
|
||||
|
||||
- key: gcc
|
||||
pacboy: [ 'gcc:u' ]
|
||||
command: g++.exe
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: PostgreSQL start service
|
||||
run: |
|
||||
Set-Service -Name postgresql-x64-14 -StartupType Manual
|
||||
Start-Service postgresql-x64-14
|
||||
|
||||
- name: PostgreSQL add on the $env:Path
|
||||
run: |
|
||||
Write-Output "$env:PGBIN" | Out-File -FilePath $env:GITHUB_PATH -Append
|
||||
|
||||
- name: PostgreSQL check service status
|
||||
run: |
|
||||
$pgsqlService = Get-Service postgresql-x64-14
|
||||
Write-Output $pgsqlService
|
||||
$pgsqlService.status.ToString() -ceq "Running" `
|
||||
-or $(throw 'postgresql-x64-14 service is not running') > $null
|
||||
pg_isready.exe
|
||||
|
||||
- name: PostgreSQL create TinyORM user
|
||||
run: >-
|
||||
psql.exe
|
||||
--command="CREATE USER ${env:DB_PGSQL_USERNAME} PASSWORD '${env:DB_PGSQL_PASSWORD}'"
|
||||
env:
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
|
||||
- name: PostgreSQL create TinyORM database
|
||||
run: |
|
||||
createdb.exe --owner=$env:DB_PGSQL_USERNAME $env:DB_PGSQL_DATABASE
|
||||
env:
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
|
||||
- name: MySQL create data folder
|
||||
run: |
|
||||
New-Item -Type Directory '${{ runner.workspace }}/../mysql/data'
|
||||
|
||||
- name: MySQL initialize server and install/start service
|
||||
run: |
|
||||
Copy-Item .github/resources/my.ini C:/mysql
|
||||
mysqld.exe --initialize-insecure --console --datadir='${{ runner.workspace }}/../mysql/data'
|
||||
mysqld.exe --install MySQL --datadir='${{ runner.workspace }}/../mysql/data'
|
||||
Start-Service MySQL
|
||||
|
||||
- name: MySQL change TinyORM password
|
||||
run: >-
|
||||
mysql.exe --host=$env:DB_MYSQL_HOST --user=$env:DB_MYSQL_USERNAME --skip-password
|
||||
--execute="ALTER USER '${env:DB_MYSQL_USERNAME}'@'${env:DB_MYSQL_HOST}'
|
||||
IDENTIFIED BY '${env:DB_MYSQL_PASSWORD}';"
|
||||
env:
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: MySQL check service status
|
||||
run: |
|
||||
$mysqlService = Get-Service MySQL
|
||||
Write-Output $mysqlService
|
||||
$mysqlService.status.ToString() -ceq "Running" `
|
||||
-or $(throw 'MySQL service is not running') > $null
|
||||
mysqladmin.exe --bind-address=$env:DB_MYSQL_HOST --user=$env:DB_MYSQL_USERNAME `
|
||||
--password=$env:DB_MYSQL_PASSWORD ping
|
||||
env:
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: MySQL create TinyORM database
|
||||
run: >-
|
||||
echo "
|
||||
create database if not exists $env:DB_MYSQL_DATABASE
|
||||
default character set utf8mb4
|
||||
default collate utf8mb4_0900_ai_ci;" |
|
||||
mysql.exe --host=$env:DB_MYSQL_HOST --user=$env:DB_MYSQL_USERNAME
|
||||
--password=$env:DB_MYSQL_PASSWORD
|
||||
env:
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: SQLite create TinyORM database
|
||||
run: |
|
||||
touch "$env:DB_SQLITE_DATABASE"
|
||||
env:
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
|
||||
- name: PHP enable PDO extensions (pdo_mysql, pdo_pgsql, pdo_sqlite)
|
||||
run: |
|
||||
Add-Content -Path "${env:PHPROOT}/php.ini" -Value `
|
||||
"[PHP]
|
||||
extension=pdo_mysql
|
||||
extension=pdo_pgsql
|
||||
extension=pdo_sqlite
|
||||
"
|
||||
|
||||
- name: testdata composer install (illuminate/database)
|
||||
uses: "ramsey/composer-install@v1"
|
||||
with:
|
||||
composer-options: >-
|
||||
--working-dir=${{ github.workspace }}/tests/testdata
|
||||
--prefer-dist --optimize-autoloader
|
||||
|
||||
- name: Create and Seed tables (MySQL, PostgreSQL, SQLite)
|
||||
working-directory: tests/testdata
|
||||
run: |
|
||||
php.exe ./create_and_seed_database.php
|
||||
env:
|
||||
DB_MYSQL_CHARSET: utf8mb4
|
||||
DB_MYSQL_COLLATION: utf8mb4_0900_ai_ci
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
DB_PGSQL_CHARSET: utf8
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_HOST: ${{ secrets.DB_PGSQL_HOST }}
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
|
||||
- name: TinyORM create build folder (${{ matrix.compiler.key }}-cmake-debug)
|
||||
run: |
|
||||
mkdir -p ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
|
||||
- name: |
|
||||
MSYS2 UCRT64 setup (${{ join(matrix.compiler.pacboy, ', ') }}, lld:u, qt5-base:u, ccache:u)
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ucrt64
|
||||
path-type: minimal
|
||||
update: true
|
||||
install: |
|
||||
git
|
||||
pacboy: >-
|
||||
${{ join(matrix.compiler.pacboy, ' ') }} lld:u
|
||||
cmake:u ninja:u ccache:u
|
||||
qt5-base:u
|
||||
libmariadbclient:u postgresql:u
|
||||
|
||||
- name: ccache setup 🕺
|
||||
uses: Chocobo1/setup-ccache-action@v1
|
||||
with:
|
||||
windows_compile_environment: msys2
|
||||
prepend_symlinks_to_path: false
|
||||
install_ccache: false
|
||||
update_packager_index: false
|
||||
ccache_options: |
|
||||
compression = false
|
||||
max_size = 3G
|
||||
|
||||
- name: TinyORM cmake configure (${{ matrix.compiler.key }}-cmake-debug)
|
||||
shell: msys2 {0}
|
||||
run: >-
|
||||
cmake
|
||||
-S .
|
||||
-B ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
-G Ninja
|
||||
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache.exe
|
||||
-D CMAKE_CXX_COMPILER:FILEPATH=/ucrt64/bin/${{ matrix.compiler.command }}
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake"
|
||||
-D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON
|
||||
-D CMAKE_BUILD_TYPE:BOOL=Debug
|
||||
-D VERBOSE_CONFIGURE:BOOL=ON
|
||||
-D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF
|
||||
-D MATCH_EQUAL_EXPORTED_BUILDTREE:BOOL=OFF
|
||||
-D MYSQL_PING:BOOL=ON
|
||||
-D BUILD_TESTS:BOOL=ON
|
||||
|
||||
- name: TinyORM cmake build ✨ (${{ matrix.compiler.key }}-cmake-debug)
|
||||
shell: msys2 {0}
|
||||
run: >-
|
||||
cmake --build ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
--target all --parallel ${{ matrix.compiler.key == 'gcc' && 1 || 2 }}
|
||||
|
||||
- name: TinyORM execute ctest 🔥
|
||||
shell: msys2 {0}
|
||||
working-directory: ../TinyORM-builds-cmake/build-${{ matrix.compiler.key }}-cmake-debug
|
||||
run: ctest
|
||||
env:
|
||||
DB_MYSQL_CHARSET: utf8mb4
|
||||
DB_MYSQL_COLLATION: utf8mb4_0900_ai_ci
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
DB_PGSQL_CHARSET: utf8
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_HOST: ${{ secrets.DB_PGSQL_HOST }}
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
215
.github/workflows/msvc.yml
vendored
Normal file
215
.github/workflows/msvc.yml
vendored
Normal file
@@ -0,0 +1,215 @@
|
||||
name: MSVC
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- gh-actions
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: cmake build / ctest
|
||||
|
||||
runs-on: windows-2019
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: PostgreSQL start service
|
||||
run: |
|
||||
Set-Service -Name postgresql-x64-14 -StartupType Manual
|
||||
Start-Service postgresql-x64-14
|
||||
|
||||
- name: PostgreSQL add on the $env:Path
|
||||
run: |
|
||||
Write-Output "$env:PGBIN" | Out-File -FilePath $env:GITHUB_PATH -Append
|
||||
|
||||
- name: PostgreSQL check service status
|
||||
run: |
|
||||
$pgsqlService = Get-Service postgresql-x64-14
|
||||
Write-Output $pgsqlService
|
||||
$pgsqlService.status.ToString() -ceq "Running" `
|
||||
-or $(throw 'postgresql-x64-14 service is not running') > $null
|
||||
pg_isready.exe
|
||||
|
||||
- name: PostgreSQL create TinyORM user
|
||||
run: >-
|
||||
psql.exe
|
||||
--command="CREATE USER ${env:DB_PGSQL_USERNAME} PASSWORD '${env:DB_PGSQL_PASSWORD}'"
|
||||
env:
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
|
||||
- name: PostgreSQL create TinyORM database
|
||||
run: |
|
||||
createdb.exe --owner=$env:DB_PGSQL_USERNAME $env:DB_PGSQL_DATABASE
|
||||
env:
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
|
||||
- name: Remove C:\mysql\bin from $env:Path
|
||||
run: |
|
||||
Rename-Item -Path C:\mysql -NewName C:\mysql.bak
|
||||
|
||||
- name: choco install mysql (MySQL 8)
|
||||
run: >-
|
||||
choco install mysql -y --no-progress
|
||||
--params "/port:3306 /serviceName:MySQL
|
||||
/dataLocation:'$(Resolve-Path ${{ runner.workspace }}/../)'"
|
||||
|
||||
Write-Output 'C:\tools\mysql\current\lib;C:\tools\mysql\current\bin' |
|
||||
Out-File -FilePath $env:GITHUB_PATH -Append
|
||||
|
||||
- name: MySQL change TinyORM password
|
||||
run: >-
|
||||
mysql.exe --host=$env:DB_MYSQL_HOST --user=$env:DB_MYSQL_USERNAME --skip-password
|
||||
--execute="ALTER USER '${env:DB_MYSQL_USERNAME}'@'${env:DB_MYSQL_HOST}'
|
||||
IDENTIFIED BY '${env:DB_MYSQL_PASSWORD}';"
|
||||
env:
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: MySQL check service status
|
||||
run: |
|
||||
$mysqlService = Get-Service MySQL
|
||||
Write-Output $mysqlService
|
||||
$mysqlService.status.ToString() -ceq "Running" `
|
||||
-or $(throw 'MySQL service is not running') > $null
|
||||
mysqladmin.exe --bind-address=$env:DB_MYSQL_HOST --user=$env:DB_MYSQL_USERNAME `
|
||||
--password=$env:DB_MYSQL_PASSWORD ping
|
||||
env:
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: MySQL create TinyORM database
|
||||
run: >-
|
||||
echo "
|
||||
create database if not exists $env:DB_MYSQL_DATABASE
|
||||
default character set utf8mb4
|
||||
default collate utf8mb4_0900_ai_ci;" |
|
||||
mysql.exe --host=$env:DB_MYSQL_HOST --user=$env:DB_MYSQL_USERNAME
|
||||
--password=$env:DB_MYSQL_PASSWORD
|
||||
env:
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
|
||||
- name: SQLite create TinyORM database
|
||||
run: |
|
||||
touch "$env:DB_SQLITE_DATABASE"
|
||||
env:
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
|
||||
- name: PHP enable PDO extensions (pdo_mysql, pdo_pgsql, pdo_sqlite)
|
||||
run: |
|
||||
Add-Content -Path "${env:PHPROOT}/php.ini" -Value `
|
||||
"[PHP]
|
||||
extension=pdo_mysql
|
||||
extension=pdo_pgsql
|
||||
extension=pdo_sqlite
|
||||
"
|
||||
|
||||
- name: testdata composer install (illuminate/database)
|
||||
uses: "ramsey/composer-install@v1"
|
||||
with:
|
||||
composer-options: >-
|
||||
--working-dir=${{ github.workspace }}/tests/testdata
|
||||
--prefer-dist --optimize-autoloader
|
||||
|
||||
- name: Create and Seed tables (MySQL, PostgreSQL, SQLite)
|
||||
working-directory: tests/testdata
|
||||
run: |
|
||||
php.exe ./create_and_seed_database.php
|
||||
env:
|
||||
DB_MYSQL_CHARSET: utf8mb4
|
||||
DB_MYSQL_COLLATION: utf8mb4_0900_ai_ci
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
DB_PGSQL_CHARSET: utf8
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_HOST: ${{ secrets.DB_PGSQL_HOST }}
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
|
||||
- name: TinyORM create build folder (msvc-cmake-debug)
|
||||
run: |
|
||||
mkdir -p ../TinyORM-builds-cmake/build-msvc-cmake-debug
|
||||
|
||||
- name: Qt 5.15.2 install base components
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: 5.15.2
|
||||
arch: win64_msvc2019_64
|
||||
setup-python: false
|
||||
extra: --external 7z.exe
|
||||
dir: '${{ runner.workspace }}/../'
|
||||
|
||||
- name: QMYSQL install driver dlls (Qt 5.15.2)
|
||||
working-directory: ${{ runner.temp }}
|
||||
run: >-
|
||||
$response = Invoke-WebRequest -Uri $env:DOWNLOAD_QMYSQL_DLLS
|
||||
|
||||
$filename = [System.Net.Mime.ContentDisposition]::new(
|
||||
$response.Headers['Content-Disposition']).FileName
|
||||
|
||||
$filepath = Join-Path -Path $(Resolve-Path -Path .) -ChildPath $filename
|
||||
|
||||
$response | Select-Object -ExpandProperty Content |
|
||||
Set-Content -Path $filepath -AsByteStream
|
||||
|
||||
7z.exe x -o"${env:QT_PLUGIN_PATH}/sqldrivers" $filepath
|
||||
env:
|
||||
DOWNLOAD_QMYSQL_DLLS: ${{ secrets.DOWNLOAD_QMYSQL_DLLS }}
|
||||
|
||||
- name: vcpkg set default triplet to x64-windows
|
||||
run: >-
|
||||
Write-Output 'VCPKG_DEFAULT_TRIPLET=x64-windows' |
|
||||
Out-File -FilePath $env:GITHUB_ENV -Append
|
||||
|
||||
- name: Visual Studio 2019 pwsh shell setup
|
||||
uses: egor-tensin/vs-shell@v2
|
||||
with:
|
||||
arch: x64
|
||||
|
||||
- name: TinyORM cmake configure (msvc-cmake-debug)
|
||||
run: >-
|
||||
cmake
|
||||
-S .
|
||||
-B ../TinyORM-builds-cmake/build-msvc-cmake-debug
|
||||
-G Ninja
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="${env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
|
||||
-D CMAKE_BUILD_TYPE:BOOL=Debug
|
||||
-D VERBOSE_CONFIGURE:BOOL=ON
|
||||
-D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF
|
||||
-D MATCH_EQUAL_EXPORTED_BUILDTREE:BOOL=OFF
|
||||
-D MYSQL_PING:BOOL=ON
|
||||
-D BUILD_TESTS:BOOL=ON
|
||||
|
||||
- name: TinyORM cmake build ✨ (msvc-cmake-debug)
|
||||
run: >-
|
||||
cmake --build ../TinyORM-builds-cmake/build-msvc-cmake-debug --target all --parallel 2
|
||||
|
||||
- name: TinyORM execute ctest 🔥
|
||||
working-directory: ../TinyORM-builds-cmake/build-msvc-cmake-debug
|
||||
run: ctest
|
||||
env:
|
||||
DB_MYSQL_CHARSET: utf8mb4
|
||||
DB_MYSQL_COLLATION: utf8mb4_0900_ai_ci
|
||||
DB_MYSQL_DATABASE: ${{ secrets.DB_MYSQL_DATABASE }}
|
||||
DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }}
|
||||
DB_MYSQL_PASSWORD: ${{ secrets.DB_MYSQL_PASSWORD }}
|
||||
DB_MYSQL_USERNAME: ${{ secrets.DB_MYSQL_USERNAME }}
|
||||
DB_PGSQL_CHARSET: utf8
|
||||
DB_PGSQL_DATABASE: ${{ secrets.DB_PGSQL_DATABASE }}
|
||||
DB_PGSQL_HOST: ${{ secrets.DB_PGSQL_HOST }}
|
||||
DB_PGSQL_PASSWORD: ${{ secrets.DB_PGSQL_PASSWORD }}
|
||||
DB_PGSQL_USERNAME: ${{ secrets.DB_PGSQL_USERNAME }}
|
||||
DB_SQLITE_DATABASE: ${{ runner.temp }}/${{ secrets.DB_SQLITE_DATABASE }}
|
||||
@@ -77,6 +77,7 @@ Features related/to implement:
|
||||
- dilemma primarykey : different types for primary keys
|
||||
- expression : DB::raw() support in the query builder
|
||||
- events : event system
|
||||
- ga : github actions
|
||||
- guarded : related to the mass assignable feature
|
||||
- json columns : JSON support
|
||||
- logging : logging related
|
||||
|
||||
@@ -145,6 +145,11 @@ ${TINY_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Use faster lld linker on Clang
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
target_link_options(${target} INTERFACE -fuse-ld=lld)
|
||||
endif()
|
||||
|
||||
# Use 64-bit off_t on 32-bit Linux, ensure 64bit offsets are used for filesystem
|
||||
# accesses for 32bit compilation
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
|
||||
@@ -121,6 +121,8 @@ namespace Relations
|
||||
// CUR divide Query Builder and TinyOrm to own packages? think about it 🤔 silverqx
|
||||
// BUG clang on mingw inline static initialization with another static in the same class defined line before, all other compilers (on linux too) works silverqx
|
||||
// CUR unify default/non-default ctors comment silverqx
|
||||
// CUR discard common settings in tests/conf.pri, then qmake project will compile only if /conf.pri will be set, less manual configurations for users is still better silverqx
|
||||
// CUR cmake when MYSQL_PING is on and QMYSQL driver is not build ctest fails, fail configure? I don't knwo how I will solve this for now, also fix qmake silverqx
|
||||
/*! Base model class. */
|
||||
template<typename Derived, AllRelationsConcept ...AllRelations>
|
||||
class Model :
|
||||
|
||||
@@ -7,18 +7,19 @@
|
||||
#include "databases.hpp"
|
||||
|
||||
using Orm::Constants::charset_;
|
||||
using Orm::Constants::collation_;
|
||||
using Orm::Constants::database_;
|
||||
using Orm::Constants::driver_;
|
||||
using Orm::Constants::H127001;
|
||||
using Orm::Constants::host_;
|
||||
using Orm::Constants::P3306;
|
||||
using Orm::Constants::P5432;
|
||||
using Orm::Constants::password_;
|
||||
using Orm::Constants::port_;
|
||||
using Orm::Constants::QMYSQL;
|
||||
using Orm::Constants::ROOT;
|
||||
using Orm::Constants::PUBLIC;
|
||||
using Orm::Constants::QPSQL;
|
||||
using Orm::Constants::schema_;
|
||||
using Orm::Constants::username_;
|
||||
using Orm::Constants::UTF8MB4;
|
||||
using Orm::Constants::UTF8;
|
||||
|
||||
using Orm::DatabaseManager;
|
||||
using Orm::Support::DatabaseConfiguration;
|
||||
|
||||
@@ -47,32 +48,32 @@ void tst_DatabaseManager::removeConnection_Connected() const
|
||||
{
|
||||
// Skip autotest if all env. variables are empty
|
||||
const std::vector<const char *> envVariables {
|
||||
"DB_MYSQL_HOST", "DB_MYSQL_PORT", "DB_MYSQL_DATABASE", "DB_MYSQL_USERNAME",
|
||||
"DB_MYSQL_PASSWORD", "DB_MYSQL_CHARSET", "DB_MYSQL_COLLATION"
|
||||
"DB_PGSQL_HOST", "DB_PGSQL_PORT", "DB_PGSQL_DATABASE", "DB_PGSQL_SCHEMA",
|
||||
"DB_PGSQL_USERNAME", "DB_PGSQL_PASSWORD", "DB_PGSQL_CHARSET"
|
||||
};
|
||||
|
||||
if (TestUtils::Databases::allEnvVariablesEmpty(envVariables))
|
||||
QSKIP("Autotest skipped because DB_MYSQL_* environment variables for MySQL "
|
||||
QSKIP("Autotest skipped because DB_PGSQL_* environment variables for PostgreSQL "
|
||||
"connection were not defined.", );
|
||||
|
||||
const auto connectionName =
|
||||
QStringLiteral(
|
||||
"tinyorm_mysql_tests-tst_DatabaseMannager-removeConnection_Connected");
|
||||
const auto databaseName = qEnvironmentVariable("DB_MYSQL_DATABASE", "");
|
||||
const auto driverName = QMYSQL;
|
||||
"tinyorm_pgsql_tests-tst_DatabaseMannager-removeConnection_Connected");
|
||||
const auto databaseName = qEnvironmentVariable("DB_PGSQL_DATABASE", "");
|
||||
const auto driverName = QPSQL;
|
||||
|
||||
// Create database connection
|
||||
m_dm->addConnections({
|
||||
{connectionName, {
|
||||
{driver_, driverName},
|
||||
{host_, qEnvironmentVariable("DB_MYSQL_HOST", H127001)},
|
||||
{port_, qEnvironmentVariable("DB_MYSQL_PORT", P3306)},
|
||||
{database_, databaseName},
|
||||
{username_, qEnvironmentVariable("DB_MYSQL_USERNAME", ROOT)},
|
||||
{password_, qEnvironmentVariable("DB_MYSQL_PASSWORD", "")},
|
||||
{charset_, qEnvironmentVariable("DB_MYSQL_CHARSET", UTF8MB4)},
|
||||
{collation_, qEnvironmentVariable("DB_MYSQL_COLLATION",
|
||||
QStringLiteral("utf8mb4_0900_ai_ci"))},
|
||||
{driver_, driverName},
|
||||
{host_, qEnvironmentVariable("DB_PGSQL_HOST", H127001)},
|
||||
{port_, qEnvironmentVariable("DB_PGSQL_PORT", P5432)},
|
||||
{database_, databaseName},
|
||||
{schema_, qEnvironmentVariable("DB_PGSQL_SCHEMA", PUBLIC)},
|
||||
{username_, qEnvironmentVariable("DB_PGSQL_USERNAME",
|
||||
QStringLiteral("postgres"))},
|
||||
{password_, qEnvironmentVariable("DB_PGSQL_PASSWORD", "")},
|
||||
{charset_, qEnvironmentVariable("DB_PGSQL_CHARSET", UTF8)},
|
||||
}},
|
||||
// Don't setup any default connection
|
||||
}, "");
|
||||
@@ -103,10 +104,12 @@ void tst_DatabaseManager::removeConnection_Connected() const
|
||||
|
||||
void tst_DatabaseManager::removeConnection_NotConnected() const
|
||||
{
|
||||
const auto connectionName = QStringLiteral("dummy_connection");
|
||||
const auto connectionName =
|
||||
QStringLiteral(
|
||||
"tinyorm_pgsql_tests-tst_DatabaseMannager-removeConnection_NotConnected");
|
||||
|
||||
m_dm->addConnection({
|
||||
{driver_, QMYSQL},
|
||||
{driver_, QPSQL},
|
||||
{host_, "example.com"},
|
||||
}, connectionName);
|
||||
|
||||
|
||||
9
tests/testdata/composer.json
vendored
9
tests/testdata/composer.json
vendored
@@ -4,12 +4,17 @@
|
||||
"description": "Create and seed databases for TinyORM tests.",
|
||||
"keywords": [
|
||||
"database",
|
||||
"seed"
|
||||
"seed",
|
||||
"tinyorm"
|
||||
],
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"ext-pdo": "*",
|
||||
"ext-pdo": "^8.0",
|
||||
"ext-pdo_mysql": "^8.0",
|
||||
"ext-pdo_pgsql": "^8.0",
|
||||
"ext-pdo_sqlite": "^8.0",
|
||||
|
||||
"illuminate/database": "^8.33"
|
||||
}
|
||||
}
|
||||
|
||||
381
tests/testdata/composer.lock
generated
vendored
381
tests/testdata/composer.lock
generated
vendored
@@ -4,38 +4,34 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "3fabf98d43b049bc1f899f75f61d627b",
|
||||
"content-hash": "15609a9e5af7cb440e86cea314fab3ba",
|
||||
"packages": [
|
||||
{
|
||||
"name": "doctrine/inflector",
|
||||
"version": "2.0.3",
|
||||
"version": "2.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/inflector.git",
|
||||
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210"
|
||||
"reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210",
|
||||
"reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210",
|
||||
"url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
|
||||
"reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^7.0",
|
||||
"phpstan/phpstan": "^0.11",
|
||||
"phpstan/phpstan-phpunit": "^0.11",
|
||||
"phpstan/phpstan-strict-rules": "^0.11",
|
||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
|
||||
"doctrine/coding-standard": "^8.2",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpstan/phpstan-phpunit": "^0.12",
|
||||
"phpstan/phpstan-strict-rules": "^0.12",
|
||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
|
||||
"vimeo/psalm": "^4.10"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
|
||||
@@ -83,7 +79,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/inflector/issues",
|
||||
"source": "https://github.com/doctrine/inflector/tree/2.0.x"
|
||||
"source": "https://github.com/doctrine/inflector/tree/2.0.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -99,20 +95,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-05-29T15:13:26+00:00"
|
||||
"time": "2021-10-22T20:16:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/collections",
|
||||
"version": "v8.33.0",
|
||||
"version": "v8.73.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/collections.git",
|
||||
"reference": "d7cc717a00064b40fa63a8ad522042005e1de1ed"
|
||||
"reference": "bfb57bc1863689058706eb41287b7ad523d74403"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/collections/zipball/d7cc717a00064b40fa63a8ad522042005e1de1ed",
|
||||
"reference": "d7cc717a00064b40fa63a8ad522042005e1de1ed",
|
||||
"url": "https://api.github.com/repos/illuminate/collections/zipball/bfb57bc1863689058706eb41287b7ad523d74403",
|
||||
"reference": "bfb57bc1863689058706eb41287b7ad523d74403",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -153,20 +149,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2021-03-08T17:22:22+00:00"
|
||||
"time": "2021-11-15T14:44:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/container",
|
||||
"version": "v8.33.0",
|
||||
"version": "v8.73.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/container.git",
|
||||
"reference": "6d7b2a3a3d430c27b90b6b336520e00e5c0f8354"
|
||||
"reference": "6ac391bb27391706c5f921b85060aa2c4ca03fae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/container/zipball/6d7b2a3a3d430c27b90b6b336520e00e5c0f8354",
|
||||
"reference": "6d7b2a3a3d430c27b90b6b336520e00e5c0f8354",
|
||||
"url": "https://api.github.com/repos/illuminate/container/zipball/6ac391bb27391706c5f921b85060aa2c4ca03fae",
|
||||
"reference": "6ac391bb27391706c5f921b85060aa2c4ca03fae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -204,20 +200,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2021-03-11T03:45:11+00:00"
|
||||
"time": "2021-11-17T15:04:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/contracts",
|
||||
"version": "v8.33.0",
|
||||
"version": "v8.73.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/contracts.git",
|
||||
"reference": "121cea1d8b8772bc7fee99c71ecf0f57c1d77b3b"
|
||||
"reference": "b0886ec05a63b204634d64d0b39d5b78a7c06f81"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/121cea1d8b8772bc7fee99c71ecf0f57c1d77b3b",
|
||||
"reference": "121cea1d8b8772bc7fee99c71ecf0f57c1d77b3b",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/b0886ec05a63b204634d64d0b39d5b78a7c06f81",
|
||||
"reference": "b0886ec05a63b204634d64d0b39d5b78a7c06f81",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -252,20 +248,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2021-03-12T14:45:30+00:00"
|
||||
"time": "2021-11-17T15:04:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/database",
|
||||
"version": "v8.36.2",
|
||||
"version": "v8.73.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/database.git",
|
||||
"reference": "41d31456142be497c4e6abd40b674be0162934b1"
|
||||
"reference": "f93e5370a3d321de697755f185395bdf75e0ccc4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/database/zipball/41d31456142be497c4e6abd40b674be0162934b1",
|
||||
"reference": "41d31456142be497c4e6abd40b674be0162934b1",
|
||||
"url": "https://api.github.com/repos/illuminate/database/zipball/f93e5370a3d321de697755f185395bdf75e0ccc4",
|
||||
"reference": "f93e5370a3d321de697755f185395bdf75e0ccc4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -279,7 +275,7 @@
|
||||
"symfony/console": "^5.1.4"
|
||||
},
|
||||
"suggest": {
|
||||
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).",
|
||||
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).",
|
||||
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
|
||||
"illuminate/console": "Required to use the database commands (^8.0).",
|
||||
"illuminate/events": "Required to use the observers with Eloquent (^8.0).",
|
||||
@@ -320,20 +316,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2021-04-06T19:21:01+00:00"
|
||||
"time": "2021-11-23T14:10:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/macroable",
|
||||
"version": "v8.33.0",
|
||||
"version": "v8.73.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/macroable.git",
|
||||
"reference": "300aa13c086f25116b5f3cde3ca54ff5c822fb05"
|
||||
"reference": "aed81891a6e046fdee72edd497f822190f61c162"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/macroable/zipball/300aa13c086f25116b5f3cde3ca54ff5c822fb05",
|
||||
"reference": "300aa13c086f25116b5f3cde3ca54ff5c822fb05",
|
||||
"url": "https://api.github.com/repos/illuminate/macroable/zipball/aed81891a6e046fdee72edd497f822190f61c162",
|
||||
"reference": "aed81891a6e046fdee72edd497f822190f61c162",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -366,20 +362,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2020-10-27T15:20:30+00:00"
|
||||
"time": "2021-11-16T13:57:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/support",
|
||||
"version": "v8.33.0",
|
||||
"version": "v8.73.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/support.git",
|
||||
"reference": "520dcf5aa7631723fe6343afbeba777c102c98ae"
|
||||
"reference": "ecb4d4fb01f9716b2decbb1bf584ea8164c3b222"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/520dcf5aa7631723fe6343afbeba777c102c98ae",
|
||||
"reference": "520dcf5aa7631723fe6343afbeba777c102c98ae",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/ecb4d4fb01f9716b2decbb1bf584ea8164c3b222",
|
||||
"reference": "ecb4d4fb01f9716b2decbb1bf584ea8164c3b222",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -389,7 +385,7 @@
|
||||
"illuminate/collections": "^8.0",
|
||||
"illuminate/contracts": "^8.0",
|
||||
"illuminate/macroable": "^8.0",
|
||||
"nesbot/carbon": "^2.31",
|
||||
"nesbot/carbon": "^2.53.1",
|
||||
"php": "^7.3|^8.0",
|
||||
"voku/portable-ascii": "^1.4.8"
|
||||
},
|
||||
@@ -398,8 +394,8 @@
|
||||
},
|
||||
"suggest": {
|
||||
"illuminate/filesystem": "Required to use the composer class (^8.0).",
|
||||
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3).",
|
||||
"ramsey/uuid": "Required to use Str::uuid() (^4.0).",
|
||||
"league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).",
|
||||
"ramsey/uuid": "Required to use Str::uuid() (^4.2.2).",
|
||||
"symfony/process": "Required to use the composer class (^5.1.4).",
|
||||
"symfony/var-dumper": "Required to use the dd function (^5.1.4).",
|
||||
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)."
|
||||
@@ -434,31 +430,33 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2021-03-15T13:43:13+00:00"
|
||||
"time": "2021-11-23T14:10:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.46.0",
|
||||
"version": "2.54.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4"
|
||||
"reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4",
|
||||
"reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5",
|
||||
"reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"php": "^7.1.8 || ^8.0",
|
||||
"symfony/polyfill-mbstring": "^1.0",
|
||||
"symfony/polyfill-php80": "^1.16",
|
||||
"symfony/translation": "^3.4 || ^4.0 || ^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/dbal": "^2.0 || ^3.0",
|
||||
"doctrine/orm": "^2.7",
|
||||
"friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
|
||||
"friendsofphp/php-cs-fixer": "^3.0",
|
||||
"kylekatarnls/multi-tester": "^2.0",
|
||||
"phpmd/phpmd": "^2.9",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
@@ -472,8 +470,8 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.x-dev",
|
||||
"dev-3.x": "3.x-dev"
|
||||
"dev-3.x": "3.x-dev",
|
||||
"dev-master": "2.x-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
@@ -499,15 +497,15 @@
|
||||
{
|
||||
"name": "Brian Nesbitt",
|
||||
"email": "brian@nesbot.com",
|
||||
"homepage": "http://nesbot.com"
|
||||
"homepage": "https://markido.com"
|
||||
},
|
||||
{
|
||||
"name": "kylekatarnls",
|
||||
"homepage": "http://github.com/kylekatarnls"
|
||||
"homepage": "https://github.com/kylekatarnls"
|
||||
}
|
||||
],
|
||||
"description": "An API extension for DateTime that supports 281 different languages.",
|
||||
"homepage": "http://carbon.nesbot.com",
|
||||
"homepage": "https://carbon.nesbot.com",
|
||||
"keywords": [
|
||||
"date",
|
||||
"datetime",
|
||||
@@ -527,24 +525,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-24T17:30:44+00:00"
|
||||
"time": "2021-11-01T21:22:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/container.git",
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
|
||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
|
||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.0"
|
||||
"php": ">=7.4.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -573,9 +571,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-fig/container/issues",
|
||||
"source": "https://github.com/php-fig/container/tree/1.1.1"
|
||||
"source": "https://github.com/php-fig/container/tree/1.1.2"
|
||||
},
|
||||
"time": "2021-03-05T17:36:06+00:00"
|
||||
"time": "2021-11-05T16:50:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/simple-cache",
|
||||
@@ -630,23 +628,24 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v5.2.5",
|
||||
"version": "v5.3.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79"
|
||||
"reference": "3e7ab8f5905058984899b05a4648096f558bfeba"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/938ebbadae1b0a9c9d1ec313f87f9708609f1b79",
|
||||
"reference": "938ebbadae1b0a9c9d1ec313f87f9708609f1b79",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/3e7ab8f5905058984899b05a4648096f558bfeba",
|
||||
"reference": "3e7ab8f5905058984899b05a4648096f558bfeba",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"symfony/deprecation-contracts": "^2.1",
|
||||
"symfony/polyfill-mbstring": "~1.0",
|
||||
"symfony/polyfill-php73": "^1.8",
|
||||
"symfony/polyfill-php80": "^1.15",
|
||||
"symfony/polyfill-php80": "^1.16",
|
||||
"symfony/service-contracts": "^1.1|^2",
|
||||
"symfony/string": "^5.1"
|
||||
},
|
||||
@@ -658,10 +657,10 @@
|
||||
"symfony/process": "<4.4"
|
||||
},
|
||||
"provide": {
|
||||
"psr/log-implementation": "1.0"
|
||||
"psr/log-implementation": "1.0|2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/log": "~1.0",
|
||||
"psr/log": "^1|^2",
|
||||
"symfony/config": "^4.4|^5.0",
|
||||
"symfony/dependency-injection": "^4.4|^5.0",
|
||||
"symfony/event-dispatcher": "^4.4|^5.0",
|
||||
@@ -707,7 +706,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v5.2.5"
|
||||
"source": "https://github.com/symfony/console/tree/v5.3.11"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -723,20 +722,87 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-03-06T13:42:15+00:00"
|
||||
"time": "2021-11-21T19:41:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.22.1",
|
||||
"name": "symfony/deprecation-contracts",
|
||||
"version": "v2.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
|
||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
|
||||
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
|
||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
|
||||
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"function.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "A generic function and convention to trigger deprecation notices",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-12T14:48:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
|
||||
"reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -748,7 +814,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@@ -786,7 +852,7 @@
|
||||
"portable"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -802,20 +868,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-07T16:49:33+00:00"
|
||||
"time": "2021-02-19T12:13:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
"reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170"
|
||||
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170",
|
||||
"reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
|
||||
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -827,7 +893,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@@ -867,7 +933,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -883,20 +949,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-22T09:19:47+00:00"
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248"
|
||||
"reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248",
|
||||
"reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
|
||||
"reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -908,7 +974,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@@ -951,7 +1017,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1"
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -967,20 +1033,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-22T09:19:47+00:00"
|
||||
"time": "2021-02-19T12:13:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "5232de97ee3b75b0360528dae24e73db49566ab1"
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1",
|
||||
"reference": "5232de97ee3b75b0360528dae24e73db49566ab1",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -992,7 +1058,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@@ -1031,7 +1097,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1047,20 +1113,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-22T09:19:47+00:00"
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php73",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||
"reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2"
|
||||
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
|
||||
"reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
|
||||
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1069,7 +1135,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@@ -1110,7 +1176,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1"
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1126,20 +1192,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-07T16:49:33+00:00"
|
||||
"time": "2021-02-19T12:13:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
|
||||
"reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1148,7 +1214,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@@ -1193,7 +1259,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1209,25 +1275,29 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-07T16:49:33+00:00"
|
||||
"time": "2021-07-28T13:41:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
"version": "v2.2.0",
|
||||
"version": "v2.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/service-contracts.git",
|
||||
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
|
||||
"reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
|
||||
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
|
||||
"reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"psr/container": "^1.0"
|
||||
"psr/container": "^1.1",
|
||||
"symfony/deprecation-contracts": "^2.1"
|
||||
},
|
||||
"conflict": {
|
||||
"ext-psr": "<1.1|>=2"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/service-implementation": ""
|
||||
@@ -1235,7 +1305,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.2-dev"
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
@@ -1272,7 +1342,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/service-contracts/tree/master"
|
||||
"source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1288,20 +1358,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-09-07T11:33:47+00:00"
|
||||
"time": "2021-11-04T16:48:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v5.2.4",
|
||||
"version": "v5.3.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "4e78d7d47061fa183639927ec40d607973699609"
|
||||
"reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/4e78d7d47061fa183639927ec40d607973699609",
|
||||
"reference": "4e78d7d47061fa183639927ec40d607973699609",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
|
||||
"reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1355,7 +1425,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v5.2.4"
|
||||
"source": "https://github.com/symfony/string/tree/v5.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1371,26 +1441,27 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-16T10:20:28+00:00"
|
||||
"time": "2021-10-27T18:21:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v5.2.5",
|
||||
"version": "v5.3.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "0947ab1e3aabd22a6bef393874b2555d2bb976da"
|
||||
"reference": "17a965c8f3b1b348cf15d903ac53942984561f8a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/0947ab1e3aabd22a6bef393874b2555d2bb976da",
|
||||
"reference": "0947ab1e3aabd22a6bef393874b2555d2bb976da",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/17a965c8f3b1b348cf15d903ac53942984561f8a",
|
||||
"reference": "17a965c8f3b1b348cf15d903ac53942984561f8a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"symfony/deprecation-contracts": "^2.1",
|
||||
"symfony/polyfill-mbstring": "~1.0",
|
||||
"symfony/polyfill-php80": "^1.15",
|
||||
"symfony/polyfill-php80": "^1.16",
|
||||
"symfony/translation-contracts": "^2.3"
|
||||
},
|
||||
"conflict": {
|
||||
@@ -1404,13 +1475,14 @@
|
||||
"symfony/translation-implementation": "2.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/log": "~1.0",
|
||||
"psr/log": "^1|^2|^3",
|
||||
"symfony/config": "^4.4|^5.0",
|
||||
"symfony/console": "^4.4|^5.0",
|
||||
"symfony/dependency-injection": "^5.0",
|
||||
"symfony/finder": "^4.4|^5.0",
|
||||
"symfony/http-kernel": "^5.0",
|
||||
"symfony/intl": "^4.4|^5.0",
|
||||
"symfony/polyfill-intl-icu": "^1.21",
|
||||
"symfony/service-contracts": "^1.1.2|^2",
|
||||
"symfony/yaml": "^4.4|^5.0"
|
||||
},
|
||||
@@ -1448,7 +1520,7 @@
|
||||
"description": "Provides tools to internationalize your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation/tree/v5.2.5"
|
||||
"source": "https://github.com/symfony/translation/tree/v5.3.11"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1464,20 +1536,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-03-06T07:59:01+00:00"
|
||||
"time": "2021-11-04T16:37:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
"version": "v2.3.0",
|
||||
"version": "v2.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation-contracts.git",
|
||||
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
|
||||
"reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
|
||||
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
|
||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e",
|
||||
"reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1489,7 +1561,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.3-dev"
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
@@ -1526,7 +1598,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation-contracts/tree/v2.3.0"
|
||||
"source": "https://github.com/symfony/translation-contracts/tree/v2.5.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1542,7 +1614,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-09-28T13:05:58+00:00"
|
||||
"time": "2021-08-17T14:20:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "voku/portable-ascii",
|
||||
@@ -1627,8 +1699,11 @@
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": "^8.0",
|
||||
"ext-pdo": "*"
|
||||
"ext-pdo": "^8.0",
|
||||
"ext-pdo_mysql": "^8.0",
|
||||
"ext-pdo_pgsql": "^8.0",
|
||||
"ext-pdo_sqlite": "^8.0"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.0.0"
|
||||
"plugin-api-version": "2.1.0"
|
||||
}
|
||||
|
||||
7
tests/testdata/create_and_seed_database.php
vendored
7
tests/testdata/create_and_seed_database.php
vendored
@@ -5,6 +5,7 @@ require_once 'vendor/autoload.php';
|
||||
use Illuminate\Database\Capsule\Manager as Capsule;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
/**
|
||||
* Combine Insert statement values with columns.
|
||||
@@ -93,8 +94,8 @@ function removeUnusedConfigs(array &$configs): void
|
||||
case 'pgsql':
|
||||
{
|
||||
$envVariables = [
|
||||
'DB_MYSQL_HOST', 'DB_MYSQL_PORT', 'DB_MYSQL_DATABASE', 'DB_PGSQL_SCHEMA',
|
||||
'DB_MYSQL_USERNAME', 'DB_MYSQL_PASSWORD', 'DB_MYSQL_CHARSET'
|
||||
'DB_PGSQL_HOST', 'DB_PGSQL_PORT', 'DB_PGSQL_DATABASE', 'DB_PGSQL_SCHEMA',
|
||||
'DB_PGSQL_USERNAME', 'DB_PGSQL_PASSWORD', 'DB_PGSQL_CHARSET'
|
||||
];
|
||||
|
||||
if (allEnvVariablesEmpty($envVariables))
|
||||
@@ -489,3 +490,5 @@ removeUnusedConfigs($configs);
|
||||
addConnections($capsule, $configs);
|
||||
|
||||
createAndSeedTables(array_keys($configs));
|
||||
|
||||
//var_dump(Capsule::connection('mysql')->table('torrents')->get()->toArray());
|
||||
|
||||
Reference in New Issue
Block a user