希望你已经(耐着性子)看完了我写的前几篇攻略。
做为前文所述的“小白”,数据库其实没有大神们想得那么简单,尤其是要在自己的应用或网站里搭起来一个数据库,光是安装、权限和安全问题就够我们头痛了。
然而懒猫的官方提供了一个MySQL数据库镜象,根据官方文档,只需要在lzc-manifest.yml中插入一小段代码就可以了。
```yml
services:
mysql:
image: registry.lazycat.cloud/mysql
binds:
- /lzcapp/var/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=LAZYCAT
- MYSQL_DATABASE=LAZYCAT
- MYSQL_USER=LAZYCAT
- MYSQL_PASSWORD=LAZYCAT
```
更妙的是,由于懒猫应用的巧妙机制,各应用之间都是隔离的,对外的安全性也是没问题的,所以这个数据库其实完全可以不用设置用户权限密码这些复杂的东西。
对于你的应用,直接访问mysql.{package}.lzcapp:3306就好,别的应用(至少lzcos-1.3.x之后?)是访问不进来的。
我的理解(不知对不对)是:反正别人进不来屋子,你屋子里的抽屉就没必要再上锁了。
---
# Vibe数据库
又来了我们熟悉的Refly(当然如果你更习惯别的AI应用或模型也没问题)。
首先我把官方文档中关于数据库的一页文档的文本剪贴下来,与之前的技术引导一起导入给AI。
同时写了一个应用的基本需求,大致描述了想要的内容,着重描述了对数据库的要求,也一并喂给Claude Sonnet4。

AI会详细地指导我进行每一步的操作,需要什么样的目录结构,每个文件的内容是什么。
由于Refly目前还不能整个项目打包生成,所以这里要在VSCode或Cursor等其他编辑器中手动粘贴保存每个文件。
没有直接的co-polit形式方便,但其实我个人更喜欢这种逻辑性更好的方式。因为可以清楚地观察和修改每一步的输出,随时改动输入和调整逻辑。

---
# 测试
由于Claude的编码能力现在很强大,所以输出的代码几乎不需要修改就能一次性运行成功。


写出的代码其实以我一知半解的水平看不太明白,但是如果我自己手写必然是按照网络教程的最简单写法。所以说AI的代码肯定比不过技术大牛,但肯定比我强多了。
简单跑一下,发现已经能用了,甚至由于我要求它测试一下连接数据库,没想到它把写入数据和查询都一次性写好了,直接生成了RESTful的API。
可惜的是这一步我没有保存最初版本的截图就继续优化了。
---
# 优化
我要求AI美化页面,根据我描述的布局修改排版,并在测试时自动灌入与动物相关的测试数据。
它直接自创了一个可爱的小动物的列表,自带emoji和描述,并写入了数据库。
优化过的页面大致是下面这样的,但是我手动替换了LOGO(AI本来用了矢量图标代替)和标题名称,以及修改了部分文字。

看上去还蛮像样的,除了在视觉上仍是充满了浓厚的Vibe风,我可以修改它,但转念一想还是保留这种AI风格,毕竟是一个Vibe应用。
这个应用并没有什么实际的功能,它只是一个测试和演示。
从左侧的菜单里可以找到每一步测试的按钮,点击后就会在右边的结果展示区看到结果反馈。

但是为了让它更有用一些,我会把完整项目上传到Github,有需要的猫友可以拖下来参考或研究。但仍需注意,由于是AI生成的代码,使用请谨謓。
---
# 打包上架
如果你读了我上一篇关于打包lpk的攻略,可能会(也可能不会)觉得打包没什么复杂。
但其实这个应用的打包折腾了我将近两天,其原因主要是:
## **……我太菜**。
也正是这个原因我才会先搞上一篇打包相关的内容,以便让AI指导我的工作。

事实上当我完成了打包技术要点的AI饲料之后,还是问了AI许多问题,最终也是在AI的指导下才完成了打包和安装。
正如我之前说过的,技术大神们认为很简单的事情,在我们小白眼里可能很难。
不过现在我已经摸透了,同样认为很简单。(是不是说我更接近大神了一些?)
总而言之有几个新的小白避坑要在这里记录一下:
1. 你可以把内容放在项目根目录,也可以build时指定./为contentDir,但是!!因为这样lzc-cli project build会把两个yml也打包进去(这没什么),同时也会把之前生成的lpk也打包进去(这就糟了)!我在修改了十几个版本之后,发现安装和运行速度好慢。我以为是我的懒猫的硬盘终于完了(题外话:前几天刚好确实硬盘疑似药丸,客服已经二话不说洲际快递了新硬盘过来),结果发现最终的lpk已经达到了1.7G,原因就是每次都把之前的lpk套娃打包进去了。所以建议还是在项目里lzc-build.yml及lzc-manifest.yml同级路径下再多建一层项目目录会更好一些,不然就记得删lpk。
2. 应用的运行目录搞不清楚,就在启动脚本(比如run.sh)中写一个ls,明白了所在位置后cd到项目目录的绝对路径才最保险。
3. sh文件权限问题上次说了,这次再强调一下,windows下不支持文件的执行权,如果你需要运行启动脚本,打包还是得用Mac/Linux/WSL之类。
4. 我是清楚知道Linux区分大小写的,可用了一段时间的windows后居然忘了这事了,导致我把images文件夹命名成了Images,果不其然图裂了。
我自己都觉得自己够奇葩的。
但无论如何,这个应用的问题终于都解决了,虽然它是一个无实际用途的演示和测试APP,我还是打算将它上架。
截至发稿,这个应用已经在等待审核状态,它的名称叫“玳瑁猫”(DemoCAT),标识符为cloud.lazycat.app.democatdb,目前只是数据库演示版,以后可能还会出其他功能的演示版,可能都放在一起,也有可能统一为“玳瑁猫”系列。

Github地址在:https://github.com/catxpapa/democat 包含全部源码。如果你有兴趣,可以下载研究。
预告:下一次将尝试开发一个真正有用的小工具,并试用新的技术特点。
Related links: This article's
Github仓库