Commit Graph
26 Commits
Author SHA1 Message Date
e20fb2a792 feat(db): add MySQL 8.4 support (#4048)
Add MySQL 8.4 compatibility, including a utf8mb4 conversion migration,
hardened foreign key handling, and expanded CI database coverage.

Migrations:
- Add Mysql84Utf8mb4Conversion migration using
  sqlscripts/3.4.3_mysql84_utf8mb4_conversion.sql via executeScript()
- Drop ospos_people composite index before conversion, since its
  prefix length exceeds the 3072-byte key limit under utf8mb4
- Add assertNoCollationCollisions() pre-flight check to fail fast on
  unique values that collide under utf8mb4_unicode_520_ci, instead of
  hitting "Duplicate entry" partway through ALTER TABLE
- Wrap the conversion in try/catch so foreign keys are recreated on
  failure; log restore errors separately so they don't mask the
  original exception
- Throw RuntimeException if re-adding the people index fails
- Remove the re-add of the sales_items_taxes FK in down(), which
  MySQL 8.4 rejects without a unique key
- Revert edits to historical migrations; fix FK handling and table
  names

migration_helper:
- Add shared dropAllForeignKeyConstraints() and
  recreateForeignKeyConstraints(); table/column now optional, dropping
  all FKs in the schema when omitted
- Match CONSTRAINT_SCHEMA when joining KEY_COLUMN_USAGE to
  REFERENTIAL_CONSTRAINTS to avoid cross-schema name collisions
- Rebuild FK lookup with the query builder and bound values instead
  of interpolated SQL

CI/tests:
- Add mysql:5.7, mariadb:10.6 and mariadb:10.11 to PHPUnit matrix
- Use master instead of latest image tag; improve CI robustness
- Mock table() in FailedQueryConnectionTrait so query builder chains
  work against the failing connection

Signed-off-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
Co-authored-by: aliworksx08 <57456290+aliworksx08@users.noreply.github.com>
Co-authored-by: jekkos <jeroen.peelaerts@gmail.com>
Co-authored-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-19 14:24:51 +04:00
jekkosandobjecttothis fdbeb0e9b1 refactor: move Windows build scripts into tools/build, drop CI4 migration scripts (#4729)
Also clarify in build.ps1, build-steps.ps1 and build-package.ps1 that the
'.\tools\Build\...' example is a repository-root command and that callers in
other directories must provide a valid path to the scripts

Remove the one-off CI3->CI4 migration tooling that is no longer needed:
tools/ci4-lang-migration/ and tools/ci4-upgrade-language-interpolation/.

Docker is kept at the repository root rather than under tools/, per
review feedback. The Windows build scripts remain in tools/build/.
Root-relative docker paths are restored in .gitignore, BUILD.md,
INSTALL.md, gulpfile.js, and the build-release workflow.

---------

Co-authored-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
2026-10-14 09:22:56 +02:00
Ollama f74f286a51 feat: migrate CI from Travis to GitHub Actions with enhancements
- Convert Travis CI configuration to GitHub Actions workflows
- Add multi-arch Docker builds (amd64/arm64)
- Implement initial schema migration for fresh database installs
- Add multi-attribute search with AND logic and sort by attribute columns
- Address various PR review feedback and formatting fixes
2026-04-01 16:46:03 +00:00
BudsieBuds e83c23cf0c Improve code style and PSR-12 compliance (#4204)
* Improve code style and PSR-12 compliance
- refactored code formatting to adhere to PSR-12 guidelines
- standardized coding conventions across the codebase
- added missing framework files and reverted markup changes
- reformatted arrays for enhanced readability
- updated language files for consistent styling and clarity
- minor miscellaneous improvements
2025-05-02 19:37:06 +02:00
objecttothis e90b5b87da Replace tabs with spaces (#4196)
Signed-off-by: objecttothis <objecttothis@gmail.com>
2025-03-28 21:24:21 +04:00
jekkos c1dcf4e3c6 Fix for giftcard suggestions (#4030)
Switch back to master in docker-compose.yml
2024-08-28 00:04:56 +02:00
jekkos 245dcd2dd1 Add missing docker-mysql.yml (#3826) 2024-06-15 17:19:15 +02:00
jekkos 8dbb8f8f69 Enable docker config override (#3908) 2024-06-15 17:19:15 +02:00
Jeroen Peelaerts 3babfd2473 Refer to nginx docker in init_selfcert.sh (#3106) 2021-02-22 22:16:07 +01:00
Jeroen Peelaerts a6cc04f49f Move ssl setup to separate compose file 2021-02-14 10:44:22 +01:00
Albatroz Jeremias 98363eec4c add assets building to server install 2021-02-12 18:57:39 +00:00
Albatroz Jeremias ca98ca89b9 add assets building to local install 2021-02-12 18:57:18 +00:00
Albatroz Jeremias 9e339385a3 adding file for building assets 2021-02-12 18:55:22 +00:00
jekkos 9ad13bf3e2 Add empty error.log so nginx can log to it (#2953) 2020-09-21 11:16:02 +02:00
Jerry Hsu 24687756c1 fix Let's Encrypt fail on host install using docker
nginx container keep crashing while installing due to
wrong configuration file and ssl_certificate path mismatch.

- replace ssl_certificate path to match custom domain
- use correct URL to download files from certbot repo
2020-09-01 21:43:55 +08:00
Awadhoot Jog afef8ff4a3 use github raw urls
curl fetches html content for non-raw urls
2020-01-03 09:10:01 +01:00
FrancescoUK c786d4e0ab Fix certbot github path (#2598) 2019-12-14 17:17:40 +00:00
FrancescoUK dcb130c1c6 Fix certbot github path (#2598) 2019-12-14 17:01:04 +00:00
FrancescoUK ac1c6b2286 Minor fixes, add CI_ENV to docker-compose 2019-10-26 17:42:30 +01:00
FrancescoUK 17b8cfd70c Add new docker installation guideline, update LICENSE 2019-09-29 13:35:35 +01:00
FrancescoUK 37e369ce46 Fix .env issue and add logs as volume 2019-06-16 14:14:37 +01:00
FrancescoUK a3b117fcb3 Update docker-compose.dev and docker-compose.test 2019-06-16 14:14:37 +01:00
FrancescoUK a7950e02fc docker-compose for nginx reverse proxy and letsencrypt certbot 2019-06-16 14:14:37 +01:00
jekkos bced04ca88 Split up exsiting docker image in mulitple containers (mysql, php-apache, npm) (#616)
Add company_name to searchable fields in Takings overview (#594)
Change tests to use elementBy instead of wait functions
2016-06-08 22:36:33 +02:00
jekkos 85c6da4346 Add integration test for making receiving (#305)
Update docker scripts to work with data volumes (#284)
2016-01-27 20:11:21 +01:00
jekkos 192955b33d Fix receipt barcode generation for docker (add php5-gd lib to Dockerfile) (#284)
Make setup scripts with CI3
2016-01-21 18:30:06 +01:00