Files
lsky-pro-docker/src
mole404 4d75333320 feat(entrypoint): 旧版/上游站点升级时自动补迁移 + 版本号升到 v3.2
背景:同步分支刻意排除 ./database(保护线上 SQLite),于是镜像里新增的迁移文件
永远进不了卷 —— 用户按 README 只做 `pull && up -d` 时新表不会出现(Nothing to
migrate)→ 新功能 500。此前「从上游 v2.1 / 旧版镜像升上来」必须人工拷迁移文件再手跑
migrate(2026-10-01 发标签功能时就是人工做的)。

现在 entrypoint 每次启动自动收尾,且处处以「不伤数据、不挡启动」为前提:
  ① 守卫先行:SQLite 走只读探测(file:...?mode=ro,不启 Laravel、不写库文件),
     其它库走 migrate:status;只认「有 migrations 记账表的真站点」,空卷/手搓库/非标
     安装一律跳过,绝不自作主张建表。
  ② 只补**缺失**的迁移文件(逐个判存在再 cp -p,绝不覆盖用户自己改过的那份)。
  ③ 真有 pending 才备份 SQLite 三件套(保留最近 3 份)再迁移 —— 没有 pending 就一句话
     结束,免得每次重启白备份一份库。
  ④ 一律降权到 www-data 执行(root 跑会把 -wal/-shm 造成 root 属主 → 站点写不进库)。
  ⑤ 任何失败只打日志、绝不 exit:本脚本 set -eu,非 0 冒泡出去容器就起不来(配合
     restart: unless-stopped 即无限重启)。失败时下次启动自动重试。
  开关:AUTO_MIGRATE=0 关闭(默认开)。

CI:tools/upgrade-test.sh 新增「4b) 自动迁移用例」——构造真 v2.1 形状的卷(migrations
记账表里只有上游 10 条 + 卷里没有那两个 fork 迁移文件),重启新镜像后断言:迁移文件被
自动补进卷、tags/image_tag 自动建好、记账涨到 12、**哨兵数据指纹逐字节不变**、迁移前
自动备份存在。

版本号:src/config/app.php 的 fork 版本串 v3.1 → v3.2。
2026-10-02 17:12:56 +08:00
..

Lsky Pro Logo

Lsky Pro

☁ Your photo album on the cloud.

PHP Release Issues Code size Repo size Last commit License

官网 · 文档 · 社区 · 演示 · Telegram 群组

Warning

开源版本已停止维护,不再进行新特性更新和 bug 修复。

master 分支为未安装三方拓展的版本,通常包含了最新未发布版本的一些实验性新特性和修复补丁,正式版本请点击 这里 下载。
发现 bug 请提交 issues (提问前建议阅读提问的智慧)
有任何想法、建议、或分享,请移步 社区

看不见图片请使用科学上网 看不见图片请使用科学上网

📌 TODO

  • 支持本地等多种第三方云储存 AWS S3、阿里云 OSS、腾讯云 COS、七牛云、又拍云、SFTP、FTP、WebDav、Minio
  • 多种数据库驱动支持,MySQL 5.7+、PostgreSQL 9.6+、SQLite 3.8.8+、SQL Server 2017+
  • 支持配置使用多种缓存驱动,Memcached、Redis、DynamoDB、等其他关系型数据库,默认以文件的方式缓存
  • 多图上传、拖拽上传、粘贴上传、动态设置策略上传、复制、一键复制链接
  • 强大的图片管理功能,瀑布流展示,支持鼠标右键、单选多选、重命名等操作
  • 自由度极高的角色组配置,可以为每个组配置多个储存策略,同时储存策略可以配置多个角色组
  • 可针对角色组设置上传文件、文件夹路径命名规则、上传频率限制、图片审核等功能
  • 支持图片水印、文字水印、水印平铺、设置水印位置、X/y 轴偏移量设置、旋转角度等
  • 支持通过接口上传、管理图片、管理相册
  • 支持在线增量更新、跨版本更新
  • 图片广场

🛠 安装要求

  • PHP >= 8.0.2
  • BCMath PHP 扩展
  • Ctype PHP 扩展
  • DOM PHP 拓展
  • Fileinfo PHP 扩展
  • JSON PHP 扩展
  • Mbstring PHP 扩展
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Tokenizer PHP 扩展
  • XML PHP 扩展
  • Imagick 拓展
  • exec、shell_exec 函数
  • readlink、symlink 函数
  • putenv、getenv 函数
  • chmod、chown、fileperms 函数

😋 鸣谢

💰 捐赠

Lsky Pro 的开发和更新等,都是作者在业余时间独立开发,并免费开源使用,如果您认可我的作品,并且觉得对你有所帮助我愿意接受来自各方面的捐赠😃。

支付宝 微信
看不见图片请使用科学上网 看不见图片请使用科学上网

🤩 Stargazers over time

Stargazers over time

📧 联系我

📃 开源许可

GPL 3.0

Copyright (c) 2018-present Lsky Pro.