<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>NotionNext BLOG</title>
        <link>https://rachellaw.xyz/</link>
        <description>这是一个由NotionNext生成的站点</description>
        <lastBuildDate>Sun, 30 Jul 2023 17:30:40 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2023, Rachel Law</copyright>
        <item>
            <title><![CDATA[SQLChat尝鲜记]]></title>
            <link>https://rachellaw.xyz/2023/SQLChat</link>
            <guid>https://rachellaw.xyz/2023/SQLChat</guid>
            <pubDate>Tue, 11 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[用OpenAI来写SQL是一种什么样的体验？]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-57497c1a55b04b70b4f466cc19972c9c"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-3ab7a10e76044d47ac0e2608cdff956a">作为一个经常利用Bytebase公号软文来给自己的知识体系打补丁的“九漏鱼” 🐶🤣，自己此前看到<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://mp.weixin.qq.com/s/9s640zD_ipdnAGXbvuTMsw">sqlchat发布文章</a>时，就感叹原来今时IT行业的新鲜玩意儿并不是我们这一代人突然开了天眼洞察出的市场需求，反而大部分是对既往同类目的产品的一次次改造、迭代、升级，只不过现代人更擅长新造名词罢了。而对于ChatGPT这一当红辣子鸡，原本自己更多地觉得这是对信息检索的革新，但文章中提及的“<span class="notion-yellow_background">这是交互方式从GUI演化到Chat</span>”的观点确实很inspiring。毕竟，想想吃到从CLI到GUI变化红利的Microsoft和Apple，就更对这样交互方式变革背后的商业机会肃然起敬了。</div><div class="notion-blank notion-block-bfb7ff296ee44554ab60968e2b4ec319"> </div><div class="notion-text notion-block-992c98e4cf344a14b3be350299d944b0">在前不久参加<a class="notion-link" href="/2f787568b90a4622a82e0f1cab9c2751">Bytebase新手村任务</a>时，自己就对Chat SQL的自动写SQL功能进行了试用，感叹这简直就是对SQL女工的革命性解放。于是，在新产品SQL Chat发布的第一时间，自己就进行了试用。趁此次<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://mp.weixin.qq.com/s/je6qfDBYBA4S4q7P3ReSJA">新一期产品体验官活动</a>，回头来再次使用对比并整理成文。</div><div class="notion-blank notion-block-f556a5fb157049e8bb961f7d049da17e"> </div><div class="notion-text notion-block-83ee4b9d53754ddabe73df10a507f035">以下是本文目录，可根据实际需求食用：</div><div class="notion-table-of-contents notion-gray notion-block-907a00118cb341178905be8e3899d69c"><a href="#e13d18cf3ead45fcabc80a53f64fc43a" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">1 sqlchat.ai基本情况</span></a><a href="#484cc6fb51054a7eb92e5d6a27cbec73" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">2 作为用户，感知到的AHA moment</span></a><a href="#b85f1f282e5444318c853856b2ed0171" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.1 响应快</span></a><a href="#4109a8171d8c4495b917e9a5e567c60a" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.2 chat+execute的丝滑</span></a><a href="#f62bb2e3ae4e4081a3d5aa1c044a8b7b" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.3 change data等写入操作不直接提供执行</span></a><a href="#247bb15ea90b4332810d1d0132f4e5f8" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">3 作为好奇宝宝，探索发现的功能实现方式</span></a><a href="#bee06c5661974e48998940efc5942581" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">3.1 聊天机器人</span></a><a href="#af66b233fa6146c9aa0a0b6d7f8aa04e" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">3.2 创建数据库连接</span></a><a href="#9d273b9e4faa4a929a04b81f8214cf08" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">3.3 查询</span></a><a href="#0e94d09dec7e4c04b7c5cfe79561e0a9" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">4 作为找茬专业户，需要指出的问题</span></a><a href="#cf2d5f487b914e4f9cb534b1d23205be" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">4.1 等待服务器响应时间频繁过长</span></a><a href="#8aab2493251b4cd6b93c003b7c79b183" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">4.2 新建数据库连接时</span></a><a href="#2e2c844320a748fb868d8fd76149319f" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">4.3 数据库连接密钥存储问题</span></a><a href="#2902ae24c53f4dcbb5875506a1f9a547" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">4.4 连接数据库后，无法展示ER图</span></a><a href="#a2b32416914244448a87233119127b55" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">4.5 单次对话组中，chat接口返回内容没有联系上文（和此前的结果联动）</span></a><a href="#f9699fb2632644f99d83162e7a1e1473" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">5 总结</span></a><a href="#7a492ed3b58140aaa814079847b75be8" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">About Author</span></a></div><div class="notion-blank notion-block-8e23de37293741738160af9485ae27ce"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-e13d18cf3ead45fcabc80a53f64fc43a" data-id="e13d18cf3ead45fcabc80a53f64fc43a"><span><div id="e13d18cf3ead45fcabc80a53f64fc43a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#e13d18cf3ead45fcabc80a53f64fc43a" title="1 sqlchat.ai基本情况"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1 sqlchat.ai基本情况</span></span></h2><ul class="notion-list notion-list-disc notion-block-28a54efbba0748b08a4f996d2401cb78"><li>URL：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.sqlchat.ai/">https://www.sqlchat.ai/</a>，大概是03-20创建的</li></ul><ul class="notion-list notion-list-disc notion-block-ab033708a8a044b6bf0117fb8764e86c"><li>部署在Vercel，服务器位于US；刚发布时大中华局域网可直接访问（而且挂梯子的话机器人返回速度会慢3x），但目前好像还是得挂梯子才能访问；</li></ul><ul class="notion-list notion-list-disc notion-block-b111bf850fa1480c9d76dede60153d63"><li>若使用上述云服务，OPENAI API费用由Bytebase承担；若本地部署，需要用自己的API KEY，API费用由自己承担；</li></ul><ul class="notion-list notion-list-disc notion-block-919ebaf0d2d4489cbd2cde1e28004849"><li>chat接口调用的是OPENAI的GPT-3.5-Turbo模型；</li></ul><div class="notion-text notion-block-fe35fd9cb62a43eea190273cf685f0f0">（跑个题，考虑到这个团队的未来前景，我是不是该先去把其他相关地址注册下，以方便以后好狠狠敲一笔🙊）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a4a12ce6ccb14ac0b6aa3db026e7d8aa"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc1f761a1-6ce9-40f3-8fde-d086d49b925f%2FUntitled.png?table=block&amp;id=a4a12ce6-ccb1-4ac0-b6aa-3db026e7d8aa" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-60e370a224d04d788a81c4ed4da738b9"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-484cc6fb51054a7eb92e5d6a27cbec73" data-id="484cc6fb51054a7eb92e5d6a27cbec73"><span><div id="484cc6fb51054a7eb92e5d6a27cbec73" class="notion-header-anchor"></div><a class="notion-hash-link" href="#484cc6fb51054a7eb92e5d6a27cbec73" title="2 作为用户，感知到的AHA moment"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2 作为用户，感知到的AHA moment</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-b85f1f282e5444318c853856b2ed0171" data-id="b85f1f282e5444318c853856b2ed0171"><span><div id="b85f1f282e5444318c853856b2ed0171" class="notion-header-anchor"></div><a class="notion-hash-link" href="#b85f1f282e5444318c853856b2ed0171" title="2.1 响应快"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.1 响应快</span></span></h3><div class="notion-text notion-block-c5e41ccc37f14933b607f26eba54cf01">如果说ChatGPT目前在用户体验方面有痛点的话，那这个痛点就是其返回内容的速度了。所以一开始和机器人聊天的时候，原本已经做好了响应速度会很慢的心理预期，但实际使用时却发现这响应速度简直惊人啊！试了很多次后发现content download前的waiting for server response时间基本都在1s内，网络不差、chat内容没那么那么复杂的时候可以在500ms内，这速度相较于ChatGPT简直逆天了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1282006e989c47cf960fbee1aaf51f33"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F24e926ed-a111-4056-9798-ce11c73ee722%2FUntitled.png?table=block&amp;id=1282006e-989c-47cf-960f-bee1aaf51f33" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-06972166f8b34ac19c0d9c211b842e8e"> </div><div class="notion-text notion-block-8f5a95b78fee40a7b90af89e1cfbcfc6">当然，由于现在需要梯子，如果代理选择了香港的线路而不是美国的话，前面的等待速度就会长很多。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-92d1ada7314b444aa90eff40b574204b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0720b73c-dc14-4d7f-ad7a-f005c2ac4695%2FUntitled.png?table=block&amp;id=92d1ada7-314b-444a-a90e-ff40b574204b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-7faf43167f1a41bdb13ccca9994ac2eb"> </div><hr class="notion-hr notion-block-c7327c85bcc94cd0a43ba43076bc30a7"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-4109a8171d8c4495b917e9a5e567c60a" data-id="4109a8171d8c4495b917e9a5e567c60a"><span><div id="4109a8171d8c4495b917e9a5e567c60a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#4109a8171d8c4495b917e9a5e567c60a" title="2.2 chat+execute的丝滑"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.2 chat+execute的丝滑</span></span></h3><div class="notion-text notion-block-ab17e98884c64193be5d846afde3fa9b">在连好自己放在AWS RDS的employees数据库后，进行了chat👉query操作。由于此前已经尝试过Bytebase里面的Chat SQL功能，所以对于目前的SQL自动生成功能并没有那么惊讶（dbq，我飘了 😈）。但这里的交互明显比之前嵌在Bytebase里的ChatGPT+NotionAI合并式的交互方式要自然得多，就整个一丝滑流畅。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-fce4d4e2b26448e2af2af9818928db07"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F27a7a8c1-3218-447d-89f3-605f1732978b%2FUntitled.png?table=block&amp;id=fce4d4e2-b264-48e2-af2a-f9818928db07" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-67773a7f5a504429aa0ac5709a531bc4"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1fd0fcd2-f130-4266-90f8-a6e149c7ee75%2FUntitled.png?table=block&amp;id=67773a7f-5a50-4429-aa0a-c5709a531bc4" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-0428c57e2dab4033ade0a32e4b8a117a"> </div><hr class="notion-hr notion-block-713b1c4bed564ec2a802f33624f213a1"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-f62bb2e3ae4e4081a3d5aa1c044a8b7b" data-id="f62bb2e3ae4e4081a3d5aa1c044a8b7b"><span><div id="f62bb2e3ae4e4081a3d5aa1c044a8b7b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f62bb2e3ae4e4081a3d5aa1c044a8b7b" title="2.3 change data等写入操作不直接提供执行"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.3 change data等写入操作不直接提供执行</span></span></h3><div class="notion-text notion-block-550dc6b29add4fb189f3862dc5a67a89">考虑到Bytebase主产品在change data时审核的谨慎，自己在SQL Chat斗胆试了试drop table和update命令，发现会返回SQL语句，但不提供执行按钮。这么细节的考虑对一个MVP产品而言，也太难能可贵了吧！</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-26de851e2104497db8300060ef438f1a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F676b179a-e7f7-428a-9f69-668781bcfd36%2FUntitled.png?table=block&amp;id=26de851e-2104-497d-b830-0060ef438f1a" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-8aa057f2c5af4fe78b2fa1a7fa9f8b1d"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-247bb15ea90b4332810d1d0132f4e5f8" data-id="247bb15ea90b4332810d1d0132f4e5f8"><span><div id="247bb15ea90b4332810d1d0132f4e5f8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#247bb15ea90b4332810d1d0132f4e5f8" title="3 作为好奇宝宝，探索发现的功能实现方式"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3 作为好奇宝宝，探索发现的功能实现方式</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-bee06c5661974e48998940efc5942581" data-id="bee06c5661974e48998940efc5942581"><span><div id="bee06c5661974e48998940efc5942581" class="notion-header-anchor"></div><a class="notion-hash-link" href="#bee06c5661974e48998940efc5942581" title="3.1 聊天机器人"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3.1 聊天机器人</span></span></h3><ul class="notion-list notion-list-disc notion-block-d690491e89f2419ab2ef707fd333a4ff"><li>用户输入文本，点击【发送】图标或输入回车后，调用chat接口；</li></ul><ul class="notion-list notion-list-disc notion-block-bd6805a423bf42f2ba8ab3900f6d4ee5"><li>chat接口的入参中的message是用户在此次对话中所有历史内容；</li></ul><ul class="notion-list notion-list-disc notion-block-e67a45334b0a4f29add5c1aba6e56f34"><li>chat接口返回内容即是调用openai api + 基于规则生成的内容；</li></ul><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3b31a47e4285479684180eac0ab76cfb"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F494891f7-d37f-47b8-919a-fa4e5104c6d7%2FUntitled.png?table=block&amp;id=3b31a47e-4285-4796-8418-0eac0ab76cfb" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-382b18838f8d43dc808704a796857a8f"> </div><hr class="notion-hr notion-block-4101d4869194400f95d5f884b8c3668b"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-af66b233fa6146c9aa0a0b6d7f8aa04e" data-id="af66b233fa6146c9aa0a0b6d7f8aa04e"><span><div id="af66b233fa6146c9aa0a0b6d7f8aa04e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#af66b233fa6146c9aa0a0b6d7f8aa04e" title="3.2 创建数据库连接"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3.2 创建数据库连接</span></span></h3><ul class="notion-list notion-list-disc notion-block-803f8c3c5dbf4189901cd4463b53c714"><li>点击save前，都是前端；</li></ul><ul class="notion-list notion-list-disc notion-block-877f7aaaca08457487ba466b38a19c35"><li>点击save后，先调用test接口；如果成功，则调用db接口；如果成功，则返回页面；</li></ul><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-0217316d9af74bbe93555b2e1ffea031"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F13ac21a1-36e6-4d6f-a6cc-b4f9c35ed08e%2FUntitled.png?table=block&amp;id=0217316d-9af7-4bbe-9355-5b2e1ffea031" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-baf89e924ba94d258af6824ae85276d9"> </div><ul class="notion-list notion-list-disc notion-block-424efe520ab246d4a9b9f12850e65d86"><li>test接口：</li><ul class="notion-list notion-list-disc notion-block-424efe520ab246d4a9b9f12850e65d86"><li>请求方式POST，请求地址https://www.sqlchat.ai/api/connection/test</li><li>请求入参：用户输入的数据库连接信息</li><ul class="notion-list notion-list-disc notion-block-33213ae2668e4aba83a9175a6996a5e2"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-289d1c395ecc4cd89c5d3301a6038c3d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F927177b3-8865-4a7f-8158-fc6ef268a790%2FUntitled.png?table=block&amp;id=289d1c39-5ecc-4cd8-9c5d-3301a6038c3d" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul><li>返回结果：（状态码）</li><ul class="notion-list notion-list-disc notion-block-fa78d63adf084be9b3c0fa02b6048ae3"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-bbf21445124b4f979146566218010c46"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5b920499-5dea-4cb0-aa5a-48c5a859309d%2FUntitled.png?table=block&amp;id=bbf21445-124b-4f97-9146-566218010c46" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul></ul><div class="notion-blank notion-block-881b0b5ffd2b4d18b30eb463cca5c577"> </div><ul class="notion-list notion-list-disc notion-block-e0731a4a3525470a8f2dea6470bad7e4"><li>db接口：</li><ul class="notion-list notion-list-disc notion-block-e0731a4a3525470a8f2dea6470bad7e4"><li>请求方式POST，请求地址<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.sqlchat.ai/api/connection/db">https://www.sqlchat.ai/api/connection/db</a></li><li>请求入参：用户输入的数据库连接信息</li><ul class="notion-list notion-list-disc notion-block-d126638330684528ab120921e63a0928"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4246ec30304c46d09b13a380d6603063"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6c87ceb0-9b2e-4687-984a-b17e234e2abb%2FUntitled.png?table=block&amp;id=4246ec30-304c-46d0-9b13-a380d6603063" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul><li>返回结果：数据库名称</li><ul class="notion-list notion-list-disc notion-block-082fdc90925141089827e95924b47d8d"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-191a410f6f65490191d52f914fa81d20"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2ee9b57d-3570-484c-82cc-da64ef220944%2FUntitled.png?table=block&amp;id=191a410f-6f65-4901-91d5-2f914fa81d20" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul></ul><div class="notion-blank notion-block-3a97f32a0bf649fda42b788e80467c54"> </div><hr class="notion-hr notion-block-f4bb480550504acdb16f8b8468f5b7c5"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-9d273b9e4faa4a929a04b81f8214cf08" data-id="9d273b9e4faa4a929a04b81f8214cf08"><span><div id="9d273b9e4faa4a929a04b81f8214cf08" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9d273b9e4faa4a929a04b81f8214cf08" title="3.3 查询"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3.3 查询</span></span></h3><ul class="notion-list notion-list-disc notion-block-12e3177f6ff9477383d879bb702846fd"><li>用户输入文本，点击【发送】图标或输入回车后，先调用db_schema接口</li></ul><ul class="notion-list notion-list-disc notion-block-2275e536968248599b03f7a3241ed2d3"><li>再用db_schema接口返回的数据库schema信息/建表语句作为入参，调用chat接口</li></ul><ul class="notion-list notion-list-disc notion-block-aa626552bdfe463295f2125981f6810f"><li>再用chat接口返回的sql语句作为入参，调用execute接口</li></ul><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c87b476caf2247afa30c56b568dc859c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5813890b-2e6b-45b9-8e45-983d29b50962%2FUntitled.png?table=block&amp;id=c87b476c-af22-47af-a30c-56b568dc859c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-77c5b17fa25349da8d5f3eee051808bc"> </div><div class="notion-text notion-block-0650322bec944f8797faeac0889bcaf2">step1：调用db_schema接口</div><ul class="notion-list notion-list-disc notion-block-84feb8f1ce19482fb32c08e5327facc0"><li>db_schema接口：</li><ul class="notion-list notion-list-disc notion-block-84feb8f1ce19482fb32c08e5327facc0"><li>请求方式：POST；请求URL：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.sqlchat.ai/api/connection/db_schema">https://www.sqlchat.ai/api/connection/db_schema</a></li><li>请求入参是数据库连接信息</li><ul class="notion-list notion-list-disc notion-block-9f3d7be8982e44c5b91da698e8b2d88c"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-cbfb40194ab74842bdc633ae14649dd7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe39771fe-3686-4435-a3cc-eef3229bc488%2FUntitled.png?table=block&amp;id=cbfb4019-4ab7-4842-bdc6-33ae14649dd7" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul><li>返回结果：该数据库的建表语句</li><ul class="notion-list notion-list-disc notion-block-1cfc5e8d6c884d3eb88f5f9d15eb88fd"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c1788b9d69fb4510832ef9a1f791042d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdebe0f39-7ae4-4744-8d19-0d93f6e12ccf%2FUntitled.png?table=block&amp;id=c1788b9d-69fb-4510-832e-f9a1f791042d" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul></ul><div class="notion-blank notion-block-9b25664c63da44d1aeaae17a866a7573"> </div><div class="notion-text notion-block-ad22e6cefc5a433eb6ff248f120c2157">step2：db_schema返回后，调chat接口。</div><ul class="notion-list notion-list-disc notion-block-aad02ff1816643df86f7d4a4a7d65e24"><li>chat接口：</li><ul class="notion-list notion-list-disc notion-block-aad02ff1816643df86f7d4a4a7d65e24"><li>请求方式：POST；请求URL：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.sqlchat.ai/api/chat">https://www.sqlchat.ai/api/chat</a></li><li>请求入参：一个消息队列，包括db_schema的返回结果、用户的输入内容</li><ul class="notion-list notion-list-disc notion-block-b419083decd54b37883b6e27328ea936"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-674979b109ef49cd9ac49aa1cf7327cc"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F97278be1-621c-4086-9a76-c052750001ca%2FUntitled.png?table=block&amp;id=674979b1-09ef-49cd-9ac4-9aa1cf7327cc" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul><li>返回结果：SQL语句</li><ul class="notion-list notion-list-disc notion-block-3e08a8531c7843b0ba870512d3f1e977"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-bf7a58457dfc42b287275f7fd81c72e4"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F221707a4-d35c-4332-a5b6-43cd8f824e4b%2FUntitled.png?table=block&amp;id=bf7a5845-7dfc-42b2-8727-5f7fd81c72e4" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul></ul><div class="notion-blank notion-block-34a180d08e8e4e17ac9213a059974ce7"> </div><div class="notion-text notion-block-79df6dcb056a466c9e158c996c509287">step3：点击【执行】按钮后，调用execute接口。</div><ul class="notion-list notion-list-disc notion-block-22b9615b83e948138a5de569f3e179c4"><li>execute接口：</li><ul class="notion-list notion-list-disc notion-block-22b9615b83e948138a5de569f3e179c4"><li>请求方式：POST；请求地址：https://www.sqlchat.ai/api/connection/execute。</li><li>请求入参：用户此前输入的数据库连接信息+chat接口返回的SQL语句。</li><ul class="notion-list notion-list-disc notion-block-f7cd9bda4e9a4e6998c87e52700a2b23"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-47d43a12edae4b7bb1a818b6064ae540"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbcd7a6d3-6aac-44b2-829e-7462634a6018%2FUntitled.png?table=block&amp;id=47d43a12-edae-4b7b-b1a8-18b6064ae540" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul><li>返回结果：sql执行结果</li><ul class="notion-list notion-list-disc notion-block-23b2959160c140da83760d5228a4f448"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-7a86c03ca2c7411b9606aeb998af949f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0991e43e-830e-4efc-ac19-254264242b9c%2FUntitled.png?table=block&amp;id=7a86c03c-a2c7-411b-9606-aeb998af949f" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul></ul><div class="notion-blank notion-block-0d6f2ebc510a4e4791e0e845f1462b30"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-0e94d09dec7e4c04b7c5cfe79561e0a9" data-id="0e94d09dec7e4c04b7c5cfe79561e0a9"><span><div id="0e94d09dec7e4c04b7c5cfe79561e0a9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0e94d09dec7e4c04b7c5cfe79561e0a9" title="4 作为找茬专业户，需要指出的问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4 作为找茬专业户，需要指出的问题</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-cf2d5f487b914e4f9cb534b1d23205be" data-id="cf2d5f487b914e4f9cb534b1d23205be"><span><div id="cf2d5f487b914e4f9cb534b1d23205be" class="notion-header-anchor"></div><a class="notion-hash-link" href="#cf2d5f487b914e4f9cb534b1d23205be" title="4.1 等待服务器响应时间频繁过长"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4.1 等待服务器响应时间频繁过长</span></span></h3><div class="notion-text notion-block-8d8588d05dbc488e9534d7a6ab9dfe0f">SQL Chat刚发布时，明显的是飞一般的速度，能体会到的延迟大多在1s内。但这次自己再用时，明显感觉响应速度降下来了。除了考虑到自己使用梯子带来延迟这一外部因素外，请求发送后，waiting for server response时间超过5s的情况也频频发生。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1f1bd84a4dc84b7187c94807fa93d5d2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F11ddce01-c204-44b9-b500-42e8bc3fa377%2FUntitled.png?table=block&amp;id=1f1bd84a-4dc8-4b71-87c9-4807fa93d5d2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-cae214151c5e42cebe101e3d00991d5e"> </div><div class="notion-text notion-block-ba698ef1057c4856a503c46389868f31">由于db_schema接口并没有调用OPENAI的API，不受其模型变慢的影响，所以应该还是SQL Chat这边负载均衡的问题。如果我之后真的要常用SQL Chat的话，这个速度确实会有点劝退。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-f50e66f41aca4013aa0a04ac528e338f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe37684b2-58d9-4a4c-8350-153b1dd046ac%2FUntitled.png?table=block&amp;id=f50e66f4-1aca-4013-aa0a-04ac528e338f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4ccc48c003f44e258c32620d8f12be6c"> </div><div class="notion-text notion-block-9e8bc79e575b499a83b5a9e39bb61781">🤣当然，也可能是我这边网络的问题，没有控制变量测过。</div><div class="notion-blank notion-block-1b01152f117e4a2e85f05e02c5b7d31b"> </div><hr class="notion-hr notion-block-f8893274141649ea83ced0400e1b8fc9"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-8aab2493251b4cd6b93c003b7c79b183" data-id="8aab2493251b4cd6b93c003b7c79b183"><span><div id="8aab2493251b4cd6b93c003b7c79b183" class="notion-header-anchor"></div><a class="notion-hash-link" href="#8aab2493251b4cd6b93c003b7c79b183" title="4.2 新建数据库连接时"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4.2 新建数据库连接时</span></span></h3><div class="notion-text notion-block-70e777dc310a4dafb8bb351f5393804a">缺少连接名称、密码隐藏、测试连接按钮等上一代SQL Client已经培养出的用户习惯的功能（不过这些都是细节小问题，不影响产品主干功能）。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ba02255ee1a44d10a80bcfa3044e517c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F48d98449-a5ee-4847-a5b2-8820cbdd3bd9%2FUntitled.png?table=block&amp;id=ba02255e-e1a4-4d10-a80b-cfa3044e517c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-7cae8c24ff724167b2b87382fa663337"> </div><div class="notion-text notion-block-ef0fbdc7ade34886988728c097c66329">看了下test接口和db接口的设计，目前都有tittle字段，猜测对应数据库连接名称。但目前为空，不知道之后前端会不会用上。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-babcd80612fd467b81d785d79a80a1e3"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6ba46e01-ec13-42d3-a4ce-2fb04b8f2d3a%2FUntitled.png?table=block&amp;id=babcd806-12fd-467b-81d7-85d79a80a1e3" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-c8b84f900be14bfea0e5e213eca59c05"> </div><div class="notion-text notion-block-af73c60f927e4b77a47330e3295a2c83">在SQL Chat刚发布时，本来还在吐槽数据库连接缺少SSL，但没想到这次再用时已经补上了这块儿功能，这迭代速度真心绝绝子👏👏👏。</div><div class="notion-blank notion-block-8b93ea96b6684c9fbcc80356267e0743"> </div><div class="notion-text notion-block-a72939c0badb4b0aa95bfe22887054a1">但参考自己在使用SQLtron时只需勾选SSL、无需自己准备CA证书的使用经历，这里可能、也许、maybe做到SQL Chat的云服务中？（对CA证书的生成细节不太了解，不知道该想法是不是真的可行的）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c2da6c8db1044a07a1aa20b59999769d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F784af5bf-37e5-40d3-a667-03fc35aa1dc5%2FUntitled.png?table=block&amp;id=c2da6c8d-b104-4a07-a1aa-20b59999769d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-35deecb2d14b46cfb42b32fa95e8e397"> </div><hr class="notion-hr notion-block-d917832efb244b3d9bb80d8169f6e33f"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-2e2c844320a748fb868d8fd76149319f" data-id="2e2c844320a748fb868d8fd76149319f"><span><div id="2e2c844320a748fb868d8fd76149319f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2e2c844320a748fb868d8fd76149319f" title="4.3 数据库连接密钥存储问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4.3 数据库连接密钥存储问题</span></span></h3><div class="notion-text notion-block-cc63639a37d24343938128e4ec3b7e18">db_schema请求的入参，私钥完全明文，说明之前建立数据库连接时密钥也是明文存储的。虽然数据库连接信息是存储在浏览器缓存里的、网络连接时也可以通过SSL来做通信的加密，但感觉这里password在转存到浏览器前确实应该做一次加密，毕竟不是直接传用户填入的POST内容，至少不应该能通过F12直接看到password明文吧？（当然，实现是否可行、具体怎么实现我也不知道🐶）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a4354098cd69472c965f3d8b3c08d18b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ffd2abb5e-bcf0-4f17-b817-efc69b47fb7f%2FUntitled.png?table=block&amp;id=a4354098-cd69-472c-965f-3d8b3c08d18b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-a2bf304849814831abce10b655011c69"> </div><div class="notion-text notion-block-a72a454757644ae28fafe075a2221b5f">尽管github上有写数据库连接存在本地浏览器、仅会把schema信息传给OpenAI（而不是table中一行行的实际数据）、我也并不在意schema信息传给OpenAI（毕竟我用的是MySQL和PGSQL的官方样例库），但密钥明文这一点确实让人有点不安心。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-98ff6c040fe84424add0ec6b0cd94c91"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F156fb721-2549-41af-bb26-c236b4cf0047%2FUntitled.png?table=block&amp;id=98ff6c04-0fe8-4424-add0-ec6b0cd94c91" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-d0ea55470a984eda9ecf4afdad3361a8"> </div><hr class="notion-hr notion-block-98282bd5861b49e793310414d8ef00ac"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-2902ae24c53f4dcbb5875506a1f9a547" data-id="2902ae24c53f4dcbb5875506a1f9a547"><span><div id="2902ae24c53f4dcbb5875506a1f9a547" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2902ae24c53f4dcbb5875506a1f9a547" title="4.4 连接数据库后，无法展示ER图"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4.4 连接数据库后，无法展示ER图</span></span></h3><div class="notion-text notion-block-d58cff070d4a44f5856d1d77dc89a34d">无法展示ER图，用户连接后无法知道数据库结构，因此目前还无法替代dbeaver等工具；</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-00c632de878d419792f70be4698a244c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F77428aef-7820-47f1-8419-97c3fd11b29f%2FUntitled.png?table=block&amp;id=00c632de-878d-4197-92f7-0be4698a244c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-98fe6dbe29384c53836ed2bc0f24a47c"> </div><hr class="notion-hr notion-block-d9104e1d7dbc4190b93f2927b29b6755"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-a2b32416914244448a87233119127b55" data-id="a2b32416914244448a87233119127b55"><span><div id="a2b32416914244448a87233119127b55" class="notion-header-anchor"></div><a class="notion-hash-link" href="#a2b32416914244448a87233119127b55" title="4.5 单次对话组中，chat接口返回内容没有联系上文（和此前的结果联动）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">4.5 单次对话组中，chat接口返回内容没有联系上文（和此前的结果联动）</span></span></h3><div class="notion-text notion-block-053f41c1001d402585753d04913d27f3">前往发现chat接口的入参包括此次对话中的历史输入，但自动生成的SQL并没有把对话上下文考虑在内。这个要求可能有点吹毛求疵了，但从使用ChatGPT和NotionAI的经验来看，它们确实做了同一次对话、同一页联系上下文。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ebdad8e396c649c9bd9406e966215612"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fcc5ebb0e-4a89-4b25-b254-dc567da9e500%2FUntitled.png?table=block&amp;id=ebdad8e3-96c6-49c9-bd94-06e966215612" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3ad699cfab8a443cb9a50047fd1d6c9a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F15706997-44ae-46dc-b338-c88acac7f95c%2FUntitled.png?table=block&amp;id=3ad699cf-ab8a-443c-b9a5-0047fd1d6c9a" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-355406a8c0014a8b8f91446339ede5a9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8e666a12-954e-41aa-b457-59eabdb4c54d%2FUntitled.png?table=block&amp;id=355406a8-c001-4a8b-8f91-446339ede5a9" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-33b8bda255884531a281f5581ba49d97"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Faf257fd9-883d-47f7-af61-dd0f9507efcd%2FUntitled.png?table=block&amp;id=33b8bda2-5588-4531-a281-f5581ba49d97" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-ae961029d8a94892a66d8f8e39091ac1"> </div><div class="notion-text notion-block-34b43703f75b41e18b06cd2351c8b5f7">上述这些问题和发现的其他问题，自己之后也会找时间提到github issue的bug report和enhancement里。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-f9699fb2632644f99d83162e7a1e1473" data-id="f9699fb2632644f99d83162e7a1e1473"><span><div id="f9699fb2632644f99d83162e7a1e1473" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f9699fb2632644f99d83162e7a1e1473" title="5 总结"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">5 总结</span></span></h2><div class="notion-text notion-block-cf1a05e5147742f09d456733be20bffa">SQL Chat整体给我的惊喜远大过使用细节上的小缺憾，真的应得上产品发布推介文所述的是GUI到Chat的交互变革，希望早日能冲上Dev Tools 2.0 Portfolio！</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-0d1fd3fa7eb04247963453a80e101dc2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8dc24c18-2beb-4be8-97cf-5a5f4bb0bd26%2FUntitled.png?table=block&amp;id=0d1fd3fa-7eb0-4247-9634-53a80e101dc2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-79969d1afd1540689a107baf8dc8cb73"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-7a492ed3b58140aaa814079847b75be8" data-id="7a492ed3b58140aaa814079847b75be8"><span><div id="7a492ed3b58140aaa814079847b75be8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#7a492ed3b58140aaa814079847b75be8" title="About Author"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">About Author</span></span></h2><ul class="notion-list notion-list-disc notion-block-c02f4c218efa4fb184834ea62c611c16"><li>a 2-year data platform PM at an indigenous tier-2 public cloud provider, focusing on privacy-preserving computing, data security, data opening, system security, product process optimization, product QA test, user experience, &amp; etc.</li></ul><ul class="notion-list notion-list-disc notion-block-b2b60db040b440699d6bb6073917f2e9"><li>have experiences in data mining projects, but no SWE/SRE/DBA work background</li></ul><ul class="notion-list notion-list-disc notion-block-8ad6600e43e640dd824f8e194041eff5"><li>have experiences in using ubuntu, docker, aws rds, google bigquery, snowflake, databricks, fivetran, dbt, chatgpt, notion ai, web &amp; data security products</li></ul><ul class="notion-list notion-list-disc notion-block-8341b158c4224b92952bd250fe68635e"><li>familiar with sql, python, gitlab, jira, dbeaver</li></ul><ul class="notion-list notion-list-disc notion-block-0ed4f39dc79a459aa6f45582036e7fa6"><li>name:rachel, gender:female, age:27, contact:luorachel228@gmail.com</li></ul></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Bytebase产品试用体会]]></title>
            <link>https://rachellaw.xyz/2023/Bytebase</link>
            <guid>https://rachellaw.xyz/2023/Bytebase</guid>
            <pubDate>Tue, 21 Mar 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[我在一次PM线下见面会上机缘巧合知道了bytebase，之后就被他们的成员背景吸引，好奇这样神奇的团队到底能做出什么样的早期产品出来。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2f787568b90a4622a82e0f1cab9c2751"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-94dc9935fde94180978b60d303f577a0" data-id="94dc9935fde94180978b60d303f577a0"><span><div id="94dc9935fde94180978b60d303f577a0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#94dc9935fde94180978b60d303f577a0" title="写在前面"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">写在前面</span></span></h2><div class="notion-blank notion-block-871fb4e48a894475bf6d9c781225c354"> </div><div class="notion-text notion-block-269536b68f59427391e51263753f566d">作为数据领域的techPM，自己一直有关注data stack和一些工具类的产品。在一次PM线下见面会上机缘巧合知道了bytebase，之后就被他们的Logo、官网、文档、招聘流程、远程办公、成员背景吸引，好奇这样神奇的团队到底能做出什么样的早期产品出来 🧐。</div><div class="notion-blank notion-block-737a0008f2924d069d2e863e8092ec99"> </div><div class="notion-text notion-block-06aa3d37652841699d458a06d6a3bfdf">一直想使用这个产品，但又一直没把这件事的优先级放得那么高。上周以会落选的心态<em>（毕竟我只是个PM，不是这个产品的核心目标用户 </em>🤣<em>）</em>报名了 <em><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://mp.weixin.qq.com/s/W8-67Ov6m9vsSm7LtopDUA">Bytebase新手村任务</a></em><em>，意外被通知入选了 </em>😛（看来还是不能给自己设限hhh），这周末的P1事项就安排给了bytebase。</div><div class="notion-blank notion-block-74d763491ddb40f085bbc5cb42e570fd"> </div><div class="notion-text notion-block-8fe4ed1a73b44aafaf715572acb79c65">根据任务需求进行了产品体验，于是乎有了这篇文章。夸夸夸的部分集中在【2.1让人眼前一亮的功能点】和【3 summary】，其他部分主要讨论一些使用上的一些细节问题（毕竟还是要以帮助产品迭代为目的）。</div><div class="notion-blank notion-block-45c967d3e30543da80dd8018b6002e40"> </div><div class="notion-text notion-block-9068441b22f14718a723d52ddf2933ab">以下是本文目录，可根据实际需求食用：</div><div class="notion-table-of-contents notion-gray notion-block-1d7f83fe4e3a4f5d8418b6238228233f"><a href="#94dc9935fde94180978b60d303f577a0" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">写在前面</span></a><a href="#28999737f37647ada920db6451b59d65" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">1 个人背景</span></a><a href="#9b748a11466349e38c671c2becfd4f14" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">2 feature snapshots &amp; thoughts</span></a><a href="#d668befdea6f46d3be0321fc0fbe6c3b" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.1 让人眼前一亮的功能点（a.k.a.我自己私心特别喜欢的）</span></a><a href="#4b3a4acae97c463aac041fb88cfb725b" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.2 ChatSQL使用细节问题</span></a><a href="#e31765dfd02c42cb9626ac6535e7f2fc" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.2.1 OpenAI API key 私密性问题</span></a><a href="#3ebabf1c441b4f4a80440846586cf924" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.2.2 ChatSQL block放置位置</span></a><a href="#bb572b8f8e2c481cbeb8c3b258b4c5d0" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.2.3 结合insert需求使用ChatSQL，发现生成的SQL没把schema中要求的唯一性考虑在内</span></a><a href="#34342d26b64841cab5be11b691072c63" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.3 issue review使用细节问题</span></a><a href="#288b118f6447406baa9ac11ee8f4f9d3" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.3.1 没有disapprove，虽然提供的cancle issue也能达到disapprove目的，但cancle的说法会让人误解成删除此条issue记录</span></a><a href="#8cd17a57ab5747d08505fd814b3d3737" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.3.2 报错后，retry按钮的置灰应该是和activity中的状态有联动</span></a><a href="#192c283c50be45df8aa1c7d2a9052c9a" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.3.3 把issue重新assign给DBA后，DBA却没有approve权限</span></a><a href="#02a89c6d4edd43329081b09e1cc392d9" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.3.4 default issue name</span></a><a href="#9a97cca5f89f48f7ae9a1476be7a7ccf" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.4 alter schema 使用细节问题</span></a><a href="#11df52ac6f7e4befbf62b6a7c245982f" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.4.1 弹窗跳转</span></a><a href="#69f72e93cfd942d7a0184d4f1bdf0b0e" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.4.2 rename table时的提示</span></a><a href="#49578300474c40089fc981bcb6b4294b" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.5 RBAC 细节问题</span></a><a href="#23ede1f0c6da4993a8c7c103af2beba0" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.6 system security细节问题</span></a><a href="#15dc2641427a4fbaa09ec1bdab84b7b0" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:24px">2.7 others</span></a><a href="#32741a05ae11416ead0b27bbd508d035" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.7.1 sign up时的交互提醒问题</span></a><a href="#5a00e821902c4ac399607e04e56aa19a" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.7.2 subscription说明有点让人混淆</span></a><a href="#77f88e7fba1145a9814cbff3c8187ce4" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:48px">2.7.3 GitOps / SSO 让人充满好奇</span></a><a href="#acd20bd960e64eac8ead19f3bca79efe" class="notion-table-of-contents-item"><span class="notion-table-of-contents-item-body" style="display:inline-block;margin-left:0">3 summary</span></a></div><div class="notion-blank notion-block-24f3c906c1db4778a4b5dbc6c910412f"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28999737f37647ada920db6451b59d65" data-id="28999737f37647ada920db6451b59d65"><span><div id="28999737f37647ada920db6451b59d65" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28999737f37647ada920db6451b59d65" title="1 个人背景"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1 个人背景</span></span></h2><ul class="notion-list notion-list-disc notion-block-64fb456331794c4ead22ec3f96a93aee"><li>a 2-year data platform PM at an indigenous tier-2 public cloud provider, focusing on privacy-preserving computing, data security, data opening, system security, product process optimization, product QA test, user experience, &amp; etc.</li></ul><ul class="notion-list notion-list-disc notion-block-c7a6239e408a4a64a21e6bf0e59ea8fd"><li>have experiences in data mining projects, but no SWE/SRE/DBA work background</li></ul><ul class="notion-list notion-list-disc notion-block-fcd5db9c4004403d9d91b40a98213a09"><li>have experiences in using ubuntu, docker, aws rds, google bigquery, snowflake, databricks, fivetran, dbt, chatgpt, notion ai, web &amp; data security products</li></ul><ul class="notion-list notion-list-disc notion-block-b78006f8258a46f69bdf7edde303211c"><li>familiar with sql, python, gitlab, jira, dbeaver</li></ul><ul class="notion-list notion-list-disc notion-block-36c951665a2d49688508440fd56c8668"><li>name:rachel, gender:female, age:27, contact:luorachel228@gmail.com</li></ul><div class="notion-blank notion-block-bad45a2ac6a9484a823f4c9ceb4ada66"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-9b748a11466349e38c671c2becfd4f14" data-id="9b748a11466349e38c671c2becfd4f14"><span><div id="9b748a11466349e38c671c2becfd4f14" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9b748a11466349e38c671c2becfd4f14" title="2 feature snapshots &amp; thoughts"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2 feature snapshots &amp; thoughts</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-d668befdea6f46d3be0321fc0fbe6c3b" data-id="d668befdea6f46d3be0321fc0fbe6c3b"><span><div id="d668befdea6f46d3be0321fc0fbe6c3b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#d668befdea6f46d3be0321fc0fbe6c3b" title="2.1 让人眼前一亮的功能点（a.k.a.我自己私心特别喜欢的）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.1 让人眼前一亮的功能点（a.k.a.我自己私心特别喜欢的）</span></span></h3><div class="notion-callout notion-gray_background_co notion-block-30b2a16652f6469d8f0db1de466778cf"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">Quickstart</div></div><div class="notion-text notion-block-46817fb926a94b39ae1c135ef8b29f48">作为一个新用户，虽然之前零星看过bytebase的功能介绍、demo视频，但自己部署后面对左侧和顶部的一级菜单确实会一时搞不清楚逻辑，但我又不想浪费时间不分主次地逐个去点击。于是乎这里的Quickstart就能让对to-do-list有强划线习惯的我跟着这里的list去看到底都有些什么功能，这个交互真的太赞了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-24fa674ca0d843b6b0157946136d50db"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0a3c1cf0-cc37-4ccb-92d6-4b42136a300c%2FUntitled.png?table=block&amp;id=24fa674c-a0d8-43b6-b015-7946136d50db" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-81215922046747c08ab1fcee58f8227b"> </div><div class="notion-callout notion-gray_background_co notion-block-26337e203b5840adb17a342a7de9468b"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">ChatSQL</div></div><div class="notion-text notion-block-1b0145b42d254b3c83fb47a9c25ac12d">作为一个没怎么写过ddl和select以外dml、以及一段时间不写select后再写时经常因为脑子记不住太细节的语法而被报错的人，有了ChatSQL后终于感觉自己终于不是拖油瓶了！！！依赖奇奇怪怪语法细节或者SQL方言的事情它可以直接帮我做，而我所需做的就是在报错后及时排错，这样太解放人类大脑了吧。发现它对中文的支持也不错后就更放心了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6c3b2736c5d544a89af9f6554601703e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd479cacb-ab95-4c42-b5bf-41e333d4bd37%2FUntitled.png?table=block&amp;id=6c3b2736-c5d5-44a8-9af9-f6554601703e" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2113aeb0720b484e8429c2beea665ef9"> </div><div class="notion-callout notion-gray_background_co notion-block-8fb73029beae48d985ada4d7f931d6d9"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">Alter schema时的及时交互</div></div><div class="notion-text notion-block-2bd5e39e1f35453a909bbc49c2755ceb">很喜欢这个schema diagram的可视化风格，比navicat和dbeavor的上世纪风格好看太多了。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-9393a4fbd4f64b9db00f5b767d774304"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc3d60583-33e8-4df1-af99-166f13eb54f0%2FUntitled.png?table=block&amp;id=9393a4fb-d4f6-4b9d-b00f-5b767d774304" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-a418bba1cca94feb99b1ce873d8d78a4">看到点击删除、修改not null设置后，直接有了红色和黄色的醒目提醒，这个功能很喜欢。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-92772b5424854e14a4fcb91dc001d1a8"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3e74e61b-3ef4-494c-9031-0f67af85dc3f%2FUntitled.png?table=block&amp;id=92772b54-2485-4e14-a4fc-b91dc001d1a8" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ce6f84a1e3e04ad0a4ef6197d3da61f4"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff594394e-93b7-47a7-ad66-abbbda0684c1%2FUntitled.png?table=block&amp;id=ce6f84a1-e3e0-4ad0-a4ef-6197d3da61f4" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-5d46ed5ce019415da7a5f49904986f7c">这个upload和sync的功能也很喜欢。upload可以用在有别人写的/在其他地方写的sql脚本文件快速同步过来的（避免了手动复制粘贴）。sync可以检查刚刚在editor编辑的语句。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5061c1541b6a41fe995f09600f248f7d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb2d12ab2-69f4-4000-834f-e9c513528526%2FUntitled.png?table=block&amp;id=5061c154-1b6a-41fe-995f-09600f248f7d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-188e891e32cb4f389ef6f5620e07f548"> </div><div class="notion-callout notion-gray_background_co notion-block-95363374ba5d4fe38f39d6dfe4fd3a7d"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">drop table前的重命名</div></div><div class="notion-text notion-block-1a2500ecbc8e4446bd7e2cf550c2102a">这个删表前需要重命名的功能，很喜欢，让人谨慎谨慎又谨慎。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-0d7caebc19004d50bd2b9c6dd7a23297"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8c89d958-812b-4cdb-a3e6-8ed9c6709aa8%2FUntitled.png?table=block&amp;id=0d7caebc-1900-4d50-bd2b-9c6dd7a23297" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-ea67f16bf13548239e3e60c5d6867273"> </div><hr class="notion-hr notion-block-296b8fdfee644da6b6148a19820e5c5a"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-4b3a4acae97c463aac041fb88cfb725b" data-id="4b3a4acae97c463aac041fb88cfb725b"><span><div id="4b3a4acae97c463aac041fb88cfb725b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#4b3a4acae97c463aac041fb88cfb725b" title="2.2 ChatSQL使用细节问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.2 ChatSQL使用细节问题</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-e31765dfd02c42cb9626ac6535e7f2fc" data-id="e31765dfd02c42cb9626ac6535e7f2fc"><span><div id="e31765dfd02c42cb9626ac6535e7f2fc" class="notion-header-anchor"></div><a class="notion-hash-link" href="#e31765dfd02c42cb9626ac6535e7f2fc" title="2.2.1 OpenAI API key 私密性问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.2.1 OpenAI API key 私密性问题</span></span></h4><div class="notion-text notion-block-0c69e4dd30c048919d2d5c5e44690129">OpenAI的API key在产生后，便是遮挡显示，甚至没有设置可见的👁️按钮。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-720c4eea0c714087aad32118260f9ae9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F68c73435-438e-4bcd-9263-e0dc7e4acbed%2FUntitled.png?table=block&amp;id=720c4eea-0c71-4087-aad3-2118260f9ae9" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d88bfeae992741db9d93f308e6e27bce"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ffaf5ca13-87a4-4b3f-b864-2e1c1cd88c7a%2FUntitled.png?table=block&amp;id=d88bfeae-9927-41db-9d93-f308e6e27bce" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-cc0413740c184e0bb2f183ea444d0397">但是Bytebase的AI增强在输入key后，直接连，全部明文显示😲，连像密码中设置不可见👁️按钮都没有，让人有点不安心。 </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-e7a093c2fd234bf3a755279821636809"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F323eacda-0d8d-4c5e-959b-a539b3b90096%2FUntitled.png?table=block&amp;id=e7a093c2-fd23-4bf3-a755-279821636809" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-45b542208fe24323806af891adadca07"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-3ebabf1c441b4f4a80440846586cf924" data-id="3ebabf1c441b4f4a80440846586cf924"><span><div id="3ebabf1c441b4f4a80440846586cf924" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3ebabf1c441b4f4a80440846586cf924" title="2.2.2 ChatSQL block放置位置"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.2.2 ChatSQL block放置位置</span></span></h4><div class="notion-text notion-block-42effada37f2460998f8f0d5b968556b">ChatSQL的交互是ChatGPT和NotionAI的结合体，但放置位置有点奇怪。</div><div class="notion-text notion-block-1203d3c81f7c4918b87bb5200ac84b78">ChatGPT的对话框输入内容在底部，生成的对话内容在上面，这点没什么问题，因为对话内容就是返回结果，没有又一层执行sql后的返回结果。</div><div class="notion-text notion-block-2d61725975a0498b94bc7430f567c35c">Notion AI的对话框输入内容在上方，生成的对话内容在下方，这点也没有什么问题，因为可以直接把对话内容插入进文档中。</div><div class="notion-text notion-block-27a9ed8a537845bf9c9ca8806a572d0e">但这里ChatSQL放在中间，先在中间输入需求，然后自动在输入框上方生成对话，然后执行sql后再在输入框下方生成查询结果。虽然有点吹毛求疵，但这种交互确实有点奇怪。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-aea4aed8c97242c1a024e8c3c239c147"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3d3e7cc8-b0e7-4161-a255-9d9427a5d252%2FUntitled.png?table=block&amp;id=aea4aed8-c972-42c1-a024-e8c3c239c147" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-7093206ee1224284a5baea0f137e8767">另外，上方对话内容生成SQL语句后，有时会出现执行按钮错位的UIUX类的小问题。</div><div class="notion-blank notion-block-d8963e0b372549dc87e8bd6953148b0e"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-bb572b8f8e2c481cbeb8c3b258b4c5d0" data-id="bb572b8f8e2c481cbeb8c3b258b4c5d0"><span><div id="bb572b8f8e2c481cbeb8c3b258b4c5d0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#bb572b8f8e2c481cbeb8c3b258b4c5d0" title="2.2.3 结合insert需求使用ChatSQL，发现生成的SQL没把schema中要求的唯一性考虑在内"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.2.3 结合insert需求使用ChatSQL，发现生成的SQL没把schema中要求的唯一性考虑在内</span></span></h4><ul class="notion-list notion-list-disc notion-block-d2998fce9a7949a988dc3e8e27e2239b"><li>scenario</li></ul><div class="notion-text notion-block-aba48c3374b048a1901106615b9b8400">希望探索change data后的审核功能，模拟的场景是在department表中insert一条数据提交给tech lead审核。但我忘了具体的insert语句怎么写，于是想到了用chatsql帮我写。</div><ul class="notion-list notion-list-disc notion-block-bbae9249268a478985ca54ee5e7a09ae"><li>summary</li></ul><div class="notion-text notion-block-22a9d722e29b4ded891eb97d710f1f90">功能使用不方便之处：</div><div class="notion-callout notion-gray_background_co notion-block-39d710b918834671b505b4ea60d7fbc2"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">1）chatsql不仅可以用在select语句中，也可以应用在change data中自动生成insert/update/delete语句。但目前用户需要先到sql editor中生成带select的insert语句，不能直接在change data中的sql区直接生成，使用上很难受。
2）使用change data时，issue的creator在发现sql语句有错需要返回修改时，会被retry误导</div></div><div class="notion-text notion-block-11eee68d096d42d994a224c38a6ce73e">发现了bug：</div><div class="notion-callout notion-gray_background_co notion-block-9e7ff093ee424a5a839995b595696f1f"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">1）schema editor里面的row count字段有错。
2）chatsql在生成insert语句时没有把名称唯一性要求考虑在内。</div></div><ul class="notion-list notion-list-disc notion-block-dafa0e4d551049cc9d90bf7b25337d8a"><li>specific steps / how to reproduce</li></ul><div class="notion-text notion-block-4f9812821f234132aac26db46a9ff08b">step1：忘了insert语句怎么写，让chatsql帮我写。看自动生成的sql语句也符合该表各字段的名称命名规范，决定在change data中去掉select后执行该insert语句。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c2484fae89f147a78814180eafd971e1"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa454a8e9-f16e-42d0-8c62-e6c1f3225c7a%2FUntitled.png?table=block&amp;id=c2484fae-89f1-47a7-8814-180eafd971e1" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-ca847365cec94549ae34e1a5cf16d345">step2：从change data进入，复制刚才的insert语句，create issue</div><div class="notion-text notion-block-7846d4aa3d46460bb57f607c4cd62c93">step3：作为审核者，在看到run check都没warning的情况下，点击approve。可是结果却报错？？？</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6e785c5012284274a746c0769709ac7c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F571df34b-5005-4ac9-a4fe-660221dced17%2FUntitled.png?table=block&amp;id=6e785c50-1228-4274-a746-c0769709ac7c" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1eb41438960042c58b8cedd11a8ae709"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F05cb22c0-328e-4321-886a-9e3e0ed5c7a0%2FUntitled.png?table=block&amp;id=1eb41438-9600-42c5-8b8c-edd11a8ae709" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-5c0d1ba7b3ef49a3a7db683b862d380c">step4：发现error是名称唯一性约束导致的后，返回sql editor，查询department表中的数据。结果发现是有数据的（明明之前schema editor里面显示该表是没有行的）。这意味着：1）之前schema editor里面的row count字段是错的；2）chatsql在生成insert语句时也没有把名称唯一性要求考虑在内。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-f01da1221a9e43ed9ca15466c9d2265b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5dd12e4c-3a02-437b-b4f2-3adb69ce6da6%2FUntitled.png?table=block&amp;id=f01da122-1a9e-43ed-9ca1-5466c9d2265b" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-559edc9e2ba04491bc12309086971796"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5667e634-098b-4449-805b-de8c92dc1990%2FUntitled.png?table=block&amp;id=559edc9e-2ba0-4491-bc12-309086971796" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-8f66a9b390f64076b694faec5e41ed8b">step5：找到错误原因后，想返回修改insert语句。直觉想法是在下面的sql区内直接修改，结果提示我这一块儿是只读的。于是以为需要retry后才能修改，可是点击上方的retry按钮后发现retry是重新执行dml语句，而不是返回到ddl语句修改。摸索一阵后才发现旁边小小的编辑按钮。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a719e659f45c42c5823d23818396bf43"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb30658b0-711e-4ce9-8250-600c6515c7cd%2FUntitled.png?table=block&amp;id=a719e659-f45c-42c5-823d-23818396bf43" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-5f8d779b98974b54b92fc534546af74f">step6：重新编辑insert语句后终于成功。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-8de4295165984911a4aab48ae2176292"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4d6b16da-f8f8-4cbe-8df0-a5a2be095707%2FUntitled.png?table=block&amp;id=8de42951-6598-4911-a4aa-b48ae2176292" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-775a6e7957b14b0e94308a9af82c7936"> </div><hr class="notion-hr notion-block-26a0f91a228d477b89958094bba83cd9"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-34342d26b64841cab5be11b691072c63" data-id="34342d26b64841cab5be11b691072c63"><span><div id="34342d26b64841cab5be11b691072c63" class="notion-header-anchor"></div><a class="notion-hash-link" href="#34342d26b64841cab5be11b691072c63" title="2.3 issue review使用细节问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.3 issue review使用细节问题</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-288b118f6447406baa9ac11ee8f4f9d3" data-id="288b118f6447406baa9ac11ee8f4f9d3"><span><div id="288b118f6447406baa9ac11ee8f4f9d3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#288b118f6447406baa9ac11ee8f4f9d3" title="2.3.1 没有disapprove，虽然提供的cancle issue也能达到disapprove目的，但cancle的说法会让人误解成删除此条issue记录"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.3.1 没有disapprove，虽然提供的cancle issue也能达到disapprove目的，但cancle的说法会让人误解成删除此条issue记录</span></span></h4><div class="notion-text notion-block-eae64f15e30a4342bf4b189633355ef2">在审核schema变更issue时，当需要disapprove的时候，发现找不到入口。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-140b59208199422b96ddd8a3a96cd97a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F70d2e6bd-ba2d-4502-8da1-abeb345997eb%2FUntitled.png?table=block&amp;id=140b5920-8199-422b-96dd-d8a3a96cd97a" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-290f663e5e6149538ed68c0960180e02"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F64fb1db2-e5be-44fe-9ecc-2463fc40805c%2FUntitled.png?table=block&amp;id=290f663e-5e61-4953-8ed6-8c0960180e02" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6738720292df447a9d87c01e9b4c1e7b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F823006d8-de26-41ba-b57c-2506139215ca%2FUntitled.png?table=block&amp;id=67387202-92df-447a-9d87-c01e9b4c1e7b" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-83b0bc70384149d88519d30eaebb0c1e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdf3e31a4-4664-46ff-93d7-e3f86685e203%2FUntitled.png?table=block&amp;id=83b0bc70-3841-49d8-8519-d30eaebb0c1e" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-5fb6f98d72cc494c96bfc0b9ef07b999">虽然实验下来发现能直接通过cancle issue来拒绝变更，但如果没有拿一个sample issue来实验的话，还是不太敢直接点cancle。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2c2b40407fef4b0b9629775e830e9387"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4d8e38ff-9bc2-4153-a5b3-4c6d25248496%2FUntitled.png?table=block&amp;id=2c2b4040-7fef-4b0b-9629-775e830e9387" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-f4c4fbd0bf6a4c9d87d441d62a47314b"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-8cd17a57ab5747d08505fd814b3d3737" data-id="8cd17a57ab5747d08505fd814b3d3737"><span><div id="8cd17a57ab5747d08505fd814b3d3737" class="notion-header-anchor"></div><a class="notion-hash-link" href="#8cd17a57ab5747d08505fd814b3d3737" title="2.3.2 报错后，retry按钮的置灰应该是和activity中的状态有联动"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.3.2 报错后，retry按钮的置灰应该是和activity中的状态有联动</span></span></h4><div class="notion-text notion-block-3753e90ba4a8475a9eab6d2423aa5f8f">发现随机insert的内容违反命名规范后，想直接返回修改sql语句，但retry按钮和sql功能区都不能让我快速返回修改。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2dcc59ef3d28435fadcfa86c78b83c90"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff949a0a7-df29-4657-aba1-c9def1a1b9e3%2FUntitled.png?table=block&amp;id=2dcc59ef-3d28-435f-adcf-a86c78b83c90" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-07529aafe6ad4cbb8e34903309cb3f5d">第一反应是点击retry返回修改sql，但发现retry是基于现有的sql尝试执行change data，会多一条报错。然后反应是在sql区修改，但提示这里是只读。第3次尝试点了旁边的编辑按钮后，才发现还是可以修改sql语句的，这才顺利修改。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-b11066a58eec4cbbb9c3440af08945b3"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd79df66d-b447-4a5c-9017-12542e39ba12%2FUntitled.png?table=block&amp;id=b11066a5-8eec-4cbb-b9c3-440af08945b3" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-92f2364205f2463299d83d1dbe0ec2c8">为什么retry不是直接返回到修改sql的状态？为什么要让我进行前面2次试错？</div><div class="notion-text notion-block-d0f212d65c1844e280cce3a21fa2f8a8">考虑到实际生产环境中，issue的creator和reviewer应该是2个人，所以重新建了个DBA角色的用户作为creator，将这个issue分配给admin角色的用户，体验在retry时两个页面的区别。</div><div class="notion-text notion-block-2b14fbc489c247148decb33e2384990f">果然，发现刚才的问题是因为creator和assignee是同一个人才造成的。creator创建issue后，由于没有retry按钮的干扰，在发现sql问题后，直接在sql区编辑被提醒后，根据人的直觉很容易点击旁边的编辑按钮进行重新编辑，就没有了刚才的问题。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1eb306de5bdc428bbff371e7cfb24600"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3c85e51d-85b7-4574-b4f2-81f1a835328c%2FUntitled.png?table=block&amp;id=1eb306de-5bdc-428b-bff3-71e7cfb24600" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-904018bda2be4313890e3f1a22d303ce">但作为assignee的admin在approve后，发现因为名称唯一性问题sql执行报错，出现了retry按钮。但此时要修改错误的话，流程应该是先把issue返回creator修改sql，确认creator修改后再retry，而不是直接让admin直接retry。虽然也能根据activity来判断issue的creator是否有根据要求修改，但感觉retry按钮的置灰应该和issue的返回/或者下面activity的状态来调整。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1a62eda7d8fb45ffb0f73db7c8b937db"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ffd06a6a0-769a-43b8-9994-f2e1aa810b7e%2FUntitled.png?table=block&amp;id=1a62eda7-d8fb-45ff-b0f7-3db7c8b937db" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-9744cc920e394354b5e8b220dc19ebbd"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-192c283c50be45df8aa1c7d2a9052c9a" data-id="192c283c50be45df8aa1c7d2a9052c9a"><span><div id="192c283c50be45df8aa1c7d2a9052c9a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#192c283c50be45df8aa1c7d2a9052c9a" title="2.3.3 把issue重新assign给DBA后，DBA却没有approve权限"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.3.3 把issue重新assign给DBA后，DBA却没有approve权限</span></span></h4><div class="notion-text notion-block-90686dbe9635420e8efe14438daf71d1">为了体验admin/DBA/dev的角色权限差别，重新部署容器后，把默认的schema审核任务分配给DBA。但以DBA的身份登录后，却发现没有approve入口？？？</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4540eaabc61f4b6586f780c7f15c5c96"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb75e34e1-631d-4f35-b182-2f2b595fc277%2FUntitled.png?table=block&amp;id=4540eaab-c61f-4b65-86f7-80c7f15c5c96" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-f091988431344c3cb7cf05c35d95cc8b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Feb0bb7b4-fee0-41b5-9f0f-90c91e155182%2FUntitled.png?table=block&amp;id=f0919884-3134-4c3c-b7cf-05c35d95cc8b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-dbda9843f386414cb931bbdea21fc6f8">再做个小实验。</div><div class="notion-text notion-block-3082ae524e464f599d7e562580a473ab">以developer的身份新建project后，分配给DBA。但以DBA的身份登录后，命名看到assign给自己了，点进去审核却发现还是没有approve按钮。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-04b5ee7028d94a388205bc0671ce1232"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fde0d4431-832a-4880-adec-f590765f7dab%2FUntitled.png?table=block&amp;id=04b5ee70-28d9-4a38-8205-bc0671ce1232" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c1fed9484c6b47e4b6db2ba696ce6acd"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff994fb3a-0145-4672-bcf6-6b6bf1b1ca1e%2FUntitled.png?table=block&amp;id=c1fed948-4c6b-47e4-b6db-2ba696ce6acd" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-aea3ef4125904c66babe350a333591f2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3ccc60b0-5559-410f-84e6-2d47263cb0d8%2FUntitled.png?table=block&amp;id=aea3ef41-2590-4c66-babe-350a333591f2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-f49f1cef3b894b4589f28f6c8688e6f2">重新把assignee修改为admin后，以admin的身份登录，才发现有approve按钮。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-619e755d5bb64d23959a13faa241c8b5"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc5ba9514-c378-451c-9bf6-659082ab429c%2FUntitled.png?table=block&amp;id=619e755d-5bb6-4d23-959a-13faa241c8b5" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-12deef07aa26424cba3ff834fb7f1c50"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8d129d93-f4e2-4ffb-b43e-3333f7134d2e%2FUntitled.png?table=block&amp;id=12deef07-aa26-424c-ba3f-f834fb7f1c50" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-fe51b5df21fc4ed9a99da5ef36032816">既然只有admin角色的用户可以approve，那为什么assignee的下拉框要有DBA角色的用户呢？这个问题不知是否只是此次镜像的问题。</div><div class="notion-blank notion-block-01c78a3743c24187ad646181391ccb32"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-02a89c6d4edd43329081b09e1cc392d9" data-id="02a89c6d4edd43329081b09e1cc392d9"><span><div id="02a89c6d4edd43329081b09e1cc392d9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#02a89c6d4edd43329081b09e1cc392d9" title="2.3.4 default issue name"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.3.4 default issue name</span></span></h4><div class="notion-text notion-block-5caa569c928640128d37923bd39b2011">默认的issue name是dbname+action+timestamp，但我作为用户，为了快，就懒得去修改默认名称。导致最后list里面一堆同名issue我不知道是啥，也没有显示description，就让我需要逐个点击进去看。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-828e57c0607e4a709d42746a345c4861"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd48cb032-6d9c-4790-a1a9-1162c68f7ddd%2FUntitled.png?table=block&amp;id=828e57c0-607e-4a70-9d42-746a345c4861" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ec30175500394f328b002742b9620428"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbbfba86f-99cb-4b44-8a09-0d38fd6ca7f6%2FUntitled.png?table=block&amp;id=ec301755-0039-4f32-8b00-2742b9620428" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-dc3bb675a4d7458bbc7f7a9aac956fbb">感觉可能默认名称修改为事件会好一些。</div><div class="notion-blank notion-block-d7367286e1c04ffd817cbcc68c36b71f"> </div><hr class="notion-hr notion-block-d199102000124743a96e34d10bda0dd1"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-9a97cca5f89f48f7ae9a1476be7a7ccf" data-id="9a97cca5f89f48f7ae9a1476be7a7ccf"><span><div id="9a97cca5f89f48f7ae9a1476be7a7ccf" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9a97cca5f89f48f7ae9a1476be7a7ccf" title="2.4 alter schema 使用细节问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.4 alter schema 使用细节问题</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-11df52ac6f7e4befbf62b6a7c245982f" data-id="11df52ac6f7e4befbf62b6a7c245982f"><span><div id="11df52ac6f7e4befbf62b6a7c245982f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#11df52ac6f7e4befbf62b6a7c245982f" title="2.4.1 弹窗跳转"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.4.1 弹窗跳转</span></span></h4><div class="notion-text notion-block-4f4cdc37fc5a4369be4c0ca2a5d35597">点击列表内容后，页面直接跳转，next按钮没什么用。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-0b555f89c423449bbc2ada24bc09556b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdef78718-bc6c-4984-bf03-9e820e28add8%2FUntitled.png?table=block&amp;id=0b555f89-c423-449b-bc2a-da24bc09556b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4c2625d8964a4f56887b51a231a5d9a6"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-69f72e93cfd942d7a0184d4f1bdf0b0e" data-id="69f72e93cfd942d7a0184d4f1bdf0b0e"><span><div id="69f72e93cfd942d7a0184d4f1bdf0b0e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#69f72e93cfd942d7a0184d4f1bdf0b0e" title="2.4.2 rename table时的提示"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.4.2 rename table时的提示</span></span></h4><div class="notion-text notion-block-0a4dc04f4e1643e2aeab85a96bb691b4">drop table前需要重命名表，这个功能非常喜欢。但这里【_del$】的正则表达式和【_del】的后缀会让人有点混淆到底要不要加【$】。比如此次重命名就先改为【_del$】后发现无法删除，才又返回改为【_del】</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-555e6689501942d9afe8fdc9c1a62518"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F29f2b6e7-22c6-4576-984c-cbd27fa6dfd7%2FUntitled.png?table=block&amp;id=555e6689-5019-42d9-afe8-fdc9c1a62518" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-fa68f6b402c64dceadaa4a9d056a3cec"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbaab7e16-aea7-41dd-9a21-56aa36c28df6%2FUntitled.png?table=block&amp;id=fa68f6b4-02c6-4dce-adaa-4a9d056a3cec" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-cee4cc847cfe45a59517fa2401353839"> </div><hr class="notion-hr notion-block-5f450a938e814df6abc598358588a2e1"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-49578300474c40089fc981bcb6b4294b" data-id="49578300474c40089fc981bcb6b4294b"><span><div id="49578300474c40089fc981bcb6b4294b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#49578300474c40089fc981bcb6b4294b" title="2.5 RBAC 细节问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.5 RBAC 细节问题</span></span></h3><div class="notion-text notion-block-153c0bacc4e348f28afcf01e85fbe095">为了体会DBA&amp;Developer&amp;TechLead的工作协作，重新部署了重启拟分角色协作。</div><div class="notion-text notion-block-88da784b8cf74a6cb7bf47e947d0886f">在admin创建member时没有设置密码，内心os：这里又没有自定义密码或者默认密码或者发邮件给用户让他新设置密码，那这些用户怎么登陆？</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-39707865232a42f4843c87263968efa0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6d43376b-9534-48b4-98f1-0f9c52237e6f%2FUntitled.png?table=block&amp;id=39707865-232a-42f4-843c-87263968efa0" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-3e6969d2f8084fd3a0433b5cdc0dd6a8">果然，登录的时候提示密码错误。点击forgot password也是要联系admin，可是我admin也没有reset password的权限啊；点击sign up也是提示用户已存在。无解。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-89ffa76fbda1443c8cb848ccda582f71"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd76250f7-40a0-4336-91c5-98e3ee857a57%2FUntitled.png?table=block&amp;id=89ffa76f-bda1-443c-8cb8-48ccda582f71" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-97b1513991c44333be29b83d518e9c9d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8116a769-5e5b-40bc-91ad-696bff4187d5%2FUntitled.png?table=block&amp;id=97b15139-91c4-4333-be29-b83d518e9c9d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-8d7a4bbd4426470a9aa9010e4bdb379b">只好新注册dev2和dba2用户，然后登录admin来修改他们的角色。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3276edb59f5044968710afdde2e1998f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6e2d1551-a847-433f-ba25-80c448af916f%2FUntitled.png?table=block&amp;id=3276edb5-9f50-4496-8710-afdde2e1998f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-4da58ceae1024711b19f2f2576c16548">内心os：逻辑难道不应该是一开始admin在分配用户角色的时候就报错该用户不存在吗？为什么要让我分配后发现该用户无法登录，然后再新建用户，然后再重新分配用户角色？</div><div class="notion-text notion-block-f495dd2590ce419bac97afee7d38f166">不知这是不是镜像的问题，还是saas服务中也存在该问题。</div><div class="notion-blank notion-block-ac7112af5db04322bc88b88448a12635"> </div><hr class="notion-hr notion-block-e33a267f37b34a6c8ecba34dcb7e3fed"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-23ede1f0c6da4993a8c7c103af2beba0" data-id="23ede1f0c6da4993a8c7c103af2beba0"><span><div id="23ede1f0c6da4993a8c7c103af2beba0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#23ede1f0c6da4993a8c7c103af2beba0" title="2.6 system security细节问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.6 system security细节问题</span></span></h3><div class="notion-text notion-block-54de32e25e3a45458c017440fdcc2d29">注册时密码没有格式及长度要求都可以注册好，密码位数不够，明显不安全。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-9fc653ac60684e61bc26b71a4ba0f3cc"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F22e5a757-57b2-4e6e-baf4-2c215b663874%2FUntitled.png?table=block&amp;id=9fc653ac-6068-4e61-bc26-b71a4ba0f3cc" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-46fd5d577a2b4f588f7068ce438533d5">在故意输错密码后连续20+次点击sign in，只是报错密码错误，没有出于安全问题进行账号冻结/锁定，这明显是不符合等保的基本要求的。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-12da78e8e0b4457aba954862f6f093f8"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fcce5745a-fd0b-49c3-be69-ab4132fc0a43%2FUntitled.png?table=block&amp;id=12da78e8-e0b4-457a-ba95-4862f6f093f8" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-fb86a7d6241f46389a0ddc0987808cce">看到注册和登录的安全防范机制是这样的后，有点不太敢使用SSO等功能，怕因为bytebase这里有安全漏洞害我别的账户受牵连。</div><div class="notion-blank notion-block-6d3c2e5f2d7d4931ab63e11685099001"> </div><hr class="notion-hr notion-block-a0d72584081f4c52a6d404b0fe75908d"/><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-15dc2641427a4fbaa09ec1bdab84b7b0" data-id="15dc2641427a4fbaa09ec1bdab84b7b0"><span><div id="15dc2641427a4fbaa09ec1bdab84b7b0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#15dc2641427a4fbaa09ec1bdab84b7b0" title="2.7 others"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.7 others</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-32741a05ae11416ead0b27bbd508d035" data-id="32741a05ae11416ead0b27bbd508d035"><span><div id="32741a05ae11416ead0b27bbd508d035" class="notion-header-anchor"></div><a class="notion-hash-link" href="#32741a05ae11416ead0b27bbd508d035" title="2.7.1 sign up时的交互提醒问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.7.1 sign up时的交互提醒问题</span></span></h4><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-9d610065f8184b97b76c4f1fd87c547f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc71eb597-3a7e-45ac-b7f6-72dc652d8add%2FUntitled.png?table=block&amp;id=9d610065-f818-4b97-b76c-4f1fd87c547f" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-e2cef9b0f87d49509fcddb67506ce847"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3052731a-7d95-42d3-8a92-04d5a6f5a963%2FUntitled.png?table=block&amp;id=e2cef9b0-f87d-4950-9fcd-db67506ce847" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-69f94d08f38240cdaa8e3bef15ce7858"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-5a00e821902c4ac399607e04e56aa19a" data-id="5a00e821902c4ac399607e04e56aa19a"><span><div id="5a00e821902c4ac399607e04e56aa19a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#5a00e821902c4ac399607e04e56aa19a" title="2.7.2 subscription说明有点让人混淆"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.7.2 subscription说明有点让人混淆</span></span></h4><div class="notion-text notion-block-80043387345540898accf4a09b3ac770">作为一个PM，自然会好奇Pricing方案。但看到我的subscription既是写的enterprise plan，但seat count又是team plan、subcribe也在team plan下时，内心OS：所以我这到底是什么plan？</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5323000e7dbc4b9890300c78abf1f369"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3b400223-aeb3-476a-a893-ccd134a153e5%2FUntitled.png?table=block&amp;id=5323000e-7dbc-4b98-9030-0c78abf1f369" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6abdbd9f11144f2fa24e8eacff2c6d4f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F59a37af1-e542-46af-9d75-957e03d5937c%2FUntitled.png?table=block&amp;id=6abdbd9f-1114-4f2f-a24e-8eacff2c6d4f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-39459ec23a24433eacf9586c383d586b"> </div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-77f88e7fba1145a9814cbff3c8187ce4" data-id="77f88e7fba1145a9814cbff3c8187ce4"><span><div id="77f88e7fba1145a9814cbff3c8187ce4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#77f88e7fba1145a9814cbff3c8187ce4" title="2.7.3 GitOps / SSO 让人充满好奇"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2.7.3 GitOps / SSO 让人充满好奇</span></span></h4><div class="notion-text notion-block-a5cfba0a10c244f2ba53c77f8e5484c7">看到bytebase对自己的介绍是服务于GitOps工作流，想到日常和SRE+developer工作时他们的任务流的混乱，就特别想体验这个功能。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ebdb629ff03141cd984f2e7e3b415ea0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3dab0c9d-b9cb-40e8-a93d-fe256d797e54%2FUntitled.png?table=block&amp;id=ebdb629f-f031-41cd-984f-2e7e3b415ea0" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-4ddba8a231ce48f789660a19c31cdd87">根据提示在Github完成了OAuth配置、拿到了ClientID和secret，却发现报错没有配置external url，回到新手指南配好它，结果却连github都无法访问了，还以为是配external url时候直接修改了我本机的网关。排查一通下来发现是因为我自己的梯子服务商出问题无法进行下一步，哎。SSO也是同样的梯子问题。</div><div class="notion-text notion-block-c25822a27a3b4dcf9844749c37afe296">只有等梯子好了再重新试试。对这一块儿功能实在是太好奇了。</div><div class="notion-blank notion-block-7f10091083b24a81b103ac9db5e49a71"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-acd20bd960e64eac8ead19f3bca79efe" data-id="acd20bd960e64eac8ead19f3bca79efe"><span><div id="acd20bd960e64eac8ead19f3bca79efe" class="notion-header-anchor"></div><a class="notion-hash-link" href="#acd20bd960e64eac8ead19f3bca79efe" title="3 summary"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">3 summary</span></span></h2><div class="notion-callout notion-gray_background_co notion-block-1bea435892914e7fb6493da1593da42f"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">关于新手指南</div></div><div class="notion-text notion-block-0a45135c5196493088c76c11bb563e64">get started文档写得非常清晰，从deploy到configure external url都没有遇到什么关键步骤是文档中没有提的，给文档工作点10086个赞👍。</div><div class="notion-text notion-block-a1e1d8478b7346ae812357f61fef76f8">此外，产品中的issue review/alter schema/change data/project/database/environment等功能也能够直接根据自己的认知+产品页面功能设计去一步步把流程往下推，不需要再依赖看其他文档/操作手册来进行下一步，这点非常难得，谢谢PM的良苦用心😀。</div><div class="notion-text notion-block-abb6ed77b3624365b2c7d3d6acbe47d0">大致看了看gitbook中get started附近的其他文档和tutorial，应该会在之后使用saas产品时来逐一摸索。</div><div class="notion-blank notion-block-2aac7607583b47d99cf26cb17964714d"> </div><div class="notion-callout notion-gray_background_co notion-block-6e1c5fce80c94c15adfafe888ee4e766"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">关于部署</div></div><div class="notion-text notion-block-b4503954dba34457ae0a77682dae5848">虽然一开始会好奇既然镜像在docker hub，为什么没有docker pull就直接开始docker run，但实际操作后还是很顺利地就把bytebase的容器给拉起来了。初次部署上没遇到什么问题。</div><div class="notion-text notion-block-95ea65e1609d439fb5c51593402fac72">但后来想配置external url又担心影响现有的容器，就又新拉了一个容器，2个容器同时run。可能是共享了一些volumn的原因，新容器用了老容器的账户系统，但又在拼命报错，额。</div><div class="notion-text notion-block-f8cbdb874d0f46b7b1c467e3b3e4970d">于是就把2个容器删掉从头再新部署，愉快地重新开始玩耍。</div><div class="notion-text notion-block-468b1a76d0574cdea7f59ffc08e8b230">但后续即使容器重新部署了，电脑关机后再重启容器，会在进入setup admin account时，页面下方疯狂报错invalid。</div><div class="notion-blank notion-block-e91f030e97424ccb89f193cba54e634f"> </div><div class="notion-callout notion-gray_background_co notion-block-a2e21c2b10084a898b1fe63d5116bf33"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">关于SQL editor</div></div><div class="notion-text notion-block-423270a116e4454f932312f000903253">自己之前用狗家的BigQuery时，就一直感叹这SQL editor做得也太好了吧。现在看到一款才做没多久的产品能够媲美当时用狗家产品时的体验，就很惊喜。</div><div class="notion-text notion-block-c6169cc289a646e8a616890ff7544a47">再加上现在接入OpenAI API后，直接解放sql女工！</div><div class="notion-text notion-block-dd1c60de35d84334b2402addc69395af">之后探索其saas产品如果发现能完美契合自己的其他常用的数据库/RDS的话，之后的sql editor应该就选它了，navicat/dbeaver/sqltron这种单点工具应该也就放弃了。</div><div class="notion-blank notion-block-bde15fe2bbb54ea5bdcc762b1e02b0ab"> </div><div class="notion-callout notion-gray_background_co notion-block-d6e9de685c2740c8bbf2a716411d6914"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">关于对Bytebase核心功能的探索</div></div><div class="notion-text notion-block-d164a38b79324d8195412fd04bab0c73">此次产品体验真的又应证了那句话：</div><blockquote class="notion-quote notion-block-13800ae07ddd4305b87f25b2322359c3"><div><em>要快速有实感地了解一个产品，最好的方法还是直接用。</em></div></blockquote><div class="notion-text notion-block-d8492faa69ca4b869f41255dddbb603e">虽然之前一直有关注bytebase，知道它大概在干什么、属于哪个范围的产品，但明确知道bytebase在干什么还是这次亲自上手用后。</div><div class="notion-text notion-block-c9373c73eb8b4a609d2321e186efe958">此次对其issue review, alter schema, change data, sql editor, sql advisor, RBAC功能都有了实感，但对backup &amp; restore，回滚，批量等功能还没有仔细体会，之后应该会用其saas产品来进一步了解。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-cf01179dd0144108b56abae250fef4eb"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3d4dfcb3-a5f5-41aa-bb8c-0da310433e46%2FUntitled.png?table=block&amp;id=cf01179d-d014-4108-b56a-bae250fef4eb" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2b3ad50c865e43c38b3a5b8fae384749"> </div><div class="notion-callout notion-gray_background_co notion-block-196992d5fe2441789ce8d594f1443101"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">in-a-nutshell</div></div><ul class="notion-list notion-list-disc notion-block-2be9a41754e249689e0d1c2f5bcb1c47"><li>aha moment：1）deploy的方便性；2）真正把用户当人去尊重的UIUX风格和文档清晰度；3）SQL workflow的整体流畅度</li></ul><ul class="notion-list notion-list-disc notion-block-ce6ef5d1642d47568b2b5307004376f6"><li>犹豫点：自己部署试用过程中发现了一些产品bug和安全性担忧，之后应该会通过探索saas产品来看看这些问题是否一直存在。如果自己的顾虑能打消的话，会把bytebase作为个人常用工具。如果个人使用一段时间后非常流畅的话，会把Bytebase推荐给团队的SRE/DBA/TechLead。</li></ul></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[工作繁重，我们是否还应花时间阅读文学？]]></title>
            <link>https://rachellaw.xyz/2023/Vonnegut</link>
            <guid>https://rachellaw.xyz/2023/Vonnegut</guid>
            <pubDate>Sun, 01 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[从《冯内古特：最后的访谈》聊起：阅读是否是必要的？舍弃阅读是否是值得的？]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-f8a20c5139cb45f994363fc587a6c954"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-9582e203e0024eb999bdd69436ad85e9">冯古内特，哦不，冯内古特的《五号屠场》和《囚鸟》已经躺在我的to-read-list好几年了，但至今都没找到合适的情绪状态去看。意识到自己是真的懒，于是找了个捷径——看采访，于是翻出了这本《冯内古特：最后的访谈》。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-aa96eda6afde47cfa51126afeea055fc"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:680px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://lh5.googleusercontent.com/-LVQ00V-K7zzQ5cRRRAL9cCED8e2lqw5DS-LPOwToLKq6qNqzq2vOkGKiz2BrA1CwDlRW1lfC8fLX7DovyzuST3RovZFM0AJP1Uaei5dYWGGogQNaZJXPCBMU84HESamy4J9phiIUXuHnL3YP-t806Q" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-411798c401fe4139abd08c8989ee584a"> </div><div class="notion-text notion-block-f9155a6e6ed94bdda8d2c5f7a4004797">之前看这个系列的海明威那本时十分失望，因为能明显地感觉到海明威本人对吐露内心真实想法的抗拒，访谈内容也流于表面、拼拼凑凑。但冯内古特这本有点相反的意味，更像是冯内古特为了揭示一些观点而做的自我对话，毕竟第一篇的序言就是：</div><blockquote class="notion-quote notion-block-9c872003948b47f5bc8bbefb4d4b8800"><div>受访者（冯内古特）对自己的谈话记录感到无比担忧，于是对组合后的采访稿做了大量修改。实际上，以下可以看作一次他对自己的采访。</div></blockquote><div class="notion-blank notion-block-6f6eb339cf544045944cabb8e92b29b5"> </div><div class="notion-text notion-block-131c6e544f924cb5ac1e27a8b24e7e73">访谈中有许多提供不同视角的金句，譬如颇有欧洲艺术电影感的：</div><blockquote class="notion-quote notion-block-8fbc16dd1e754ee4a89b79a26d7ec756"><div>我觉得存在于生活中心最恐怖、最吓人或是最悲剧的伪善，就是那个无人敢碰的真相——人类不爱生命</div></blockquote><div class="notion-text notion-block-c8d1030229c04a9bb7df5759d8fcc118">可以让人削减用力过猛及其焦虑的：</div><blockquote class="notion-quote notion-block-6b20cb51d8bd4e6db3ac90147c300ab4"><div>拥有天赋不代表一定要利用它做什么，不要仅仅因为你有才华，而认为必须利用才华做出些什么</div></blockquote><div class="notion-text notion-block-4e9e317ae792412ea9bcc9f01376117c">还有让人有世俗会心一笑的：</div><blockquote class="notion-quote notion-block-c4bc63bd9dbf4debb1bb8c0958780520"><div>别人都写烂书，我为什么不写写</div></blockquote><div class="notion-text notion-block-2c8d9512cfea4059a1cd6e3dd522b096">但私以为最能和当下人的工作生活产生碰撞回音的，是书中几处关于文学阅读及艺术投入的描述。</div><div class="notion-blank notion-block-b3cd5aa04f634dd8b94ba75e16390964"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-dfd08204ddc14a96884d595e369bb2b4" data-id="dfd08204ddc14a96884d595e369bb2b4"><span><div id="dfd08204ddc14a96884d595e369bb2b4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#dfd08204ddc14a96884d595e369bb2b4" title="阅读不是必要的"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">阅读不是必要的</span></span></h2><div class="notion-blank notion-block-13abd52064084ff7946ee4f93cb80e4a"> </div><div class="notion-text notion-block-255e543913204d269d4c69964bceb7ab">这些年虽然很多人批判当代人不读书了，但就自己具有显著偏差的观察样本而言，有阅读习惯的人其实一直在阅读，只是投入时间精力的多与少、阅读的主题与介质会与自己的生活状态强相关罢了。</div><div class="notion-blank notion-block-a8ee35fbc5514f9fbb2e5b4c2d84c176"> </div><div class="notion-text notion-block-30af39844fe240efb4b9712e944190fb">我很认同卡尔维诺所言的：</div><blockquote class="notion-quote notion-block-26390416244945cbaf20b9eb6ab96e79"><div>世界上存在着只有文学才能以其特殊的手段给予我们的感受</div></blockquote><div class="notion-text notion-block-8a6ff4ca91f94fc7afa86952db6fe7d2">但我确实也愈发觉得其实对大多数非文学翻译编辑出版从业者的读者而言，文学阅读（尤其是小说阅读）的作用分为两类：</div><div class="notion-callout notion-gray_background_co notion-block-2c86ab38da5f4319940eba1b6cf32811"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">1）获得一种情绪体验，延展为培养审美趣味；
2）附和所谓的经典或阳春白雪，描绘理想自我状态的「人格面具」。</div></div><div class="notion-text notion-block-da888b5dbfaf41c6874019b83c99de33">所以当看到冯内古特在采访中谈到：</div><blockquote class="notion-quote notion-block-f07c3baa132d45868337d68a3a5e4891"><div>小说向来都是一种精英艺术，这是为少数人存在的艺术形式</div></blockquote><div class="notion-text notion-block-d194caa43e6740bca23862ee4633048d">内心一顿惊叹：</div><div class="notion-text notion-block-35ac6deb3d984b53b266673fce807f6a">由一个靠写作谋生的人直言这是「为少数人存在」实在太难得了！（尤其是结合当下把书籍当商业产品做的现实后）</div><div class="notion-blank notion-block-864290f227d34ae5a6ad0f326274d8bd"> </div><div class="notion-text notion-block-5786f7958df54a48a3914bd5560f0f4d">但可惜的是，冯内古特加上了优越限定词「精英艺术」，还补充了理由：</div><blockquote class="notion-quote notion-block-277eb6b0cb4f4231a25253e36739986a"><div>因为只有为数不多的人擅长阅读</div></blockquote><div class="notion-text notion-block-67dd7037cf954b4e95a44bdbafdd9d9f">说可惜，是因为正如张楚所唱的：</div><blockquote class="notion-quote notion-block-3d2d0be206bb4cb1b4251b67aecd9773"><div>蚂蚁蚂蚁蚂蚁蚂蚁蚂蚁没问题</div></blockquote><div class="notion-text notion-block-392484c383254394962521f606669b70">大多数人不适合看小说的原因不是配不上阳春白雪，而是<span class="notion-yellow_background">「没有必要」</span>。</div><div class="notion-text notion-block-e1d3de59a8c6402e87fd100dc953d70e">用之前在少数派上看到的一个观点及其论据可以很好地解释：</div><blockquote class="notion-quote notion-block-d8c2b89a85f6403895a62f983f2dcbe1"><div>读书是一件「应该去做」但「没有必要」人人去做的事情。没有必要的原因很简单：
<span class="notion-yellow_background">1）每个人的时间有限，只能去做最重要的事</span>。如果读书尚且不能让你生存下来还会大量占用你的时间，那么把时间花费在「求生存」上更为合理。
<span class="notion-yellow_background">2）读书并非是获取知识的唯一渠道</span>。我们所处的时代叫「数字时代」，能够获取知识的渠道并非只有文字，还有演讲、播客、视频等等。每种知识一定有它最适合的获取方式，读书也只是这些方式之一，大多数情况下并不是最适合的那种。
<span class="notion-yellow_background">3）读书并非获得最佳情绪体验的唯一渠道</span>。在小说阅读过程中，读者的情绪体验会非常明显，作者创作本身的部分目的也是如此。但在这个时代，「快餐文化」往往给人更大的冲击，让人获得情绪体验的方式也变得多元，「快节奏」的生活方式给人带来了快节奏的情绪体验。</div></blockquote><div class="notion-blank notion-block-5291d1663ee340e5943a417edca23dc4"> </div><div class="notion-text notion-block-80aabd7a00d14510980e84a5ac6ba0c3">就我个人而言，鉴于自己还没有游走于世界上最顶尖公司的生存能力，工作中还会出现眼高手低、insight不足、没有first-class作品等问题，我把2022年的阅读主题从2021年的文学类切换成了能够告诉我「<span class="notion-yellow_background">how to do things right</span>」的工作相关书籍，以求生存。当我把书架上那些历史留名、装帧精美但却又来不及看的文学艺术类书籍一本本收起来卖掉时，感觉自己的青春已死。</div><div class="notion-blank notion-block-6a6fa783ea8e478bba4b8ceca587b655"> </div><div class="notion-text notion-block-4b6c11eaed774adea15d0de91ae6acf5">但是，这种「牺牲文学、换取现实」是值得的吗？</div><div class="notion-blank notion-block-3bcf6f73dbcf464aa084b861f8116888"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-49222baca2f744e8bd1c0bf643b5fec4" data-id="49222baca2f744e8bd1c0bf643b5fec4"><span><div id="49222baca2f744e8bd1c0bf643b5fec4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#49222baca2f744e8bd1c0bf643b5fec4" title="但牺牲阅读是不值得的"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">但牺牲阅读是不值得的</span></span></h2><div class="notion-blank notion-block-369ef2a097374f3cb5855ef446606eb6"> </div><div class="notion-text notion-block-cd6b144edf7f45a58c6333c1f5c9c917">一开始，当我从我想读的「正经类书籍」中看到那些我想快速习得的经验法则时，暗自窃喜自己及时调整了车头。可当我试图将这些武功秘籍应用于实践时，却发现那些经抽象总结后的「DO」和「DON’T」原则在不同的问题背景下其实边界非常模糊。那些被批判的、被摈弃的，其实可以作为当下最高效的临时解决方案；那些被视作理想的处理方式、不重不漏的思维方法，其实在当下的资源限制下不太具备可行性。</div><div class="notion-blank notion-block-5549e0c533be412598c3655afdb43450"> </div><div class="notion-text notion-block-23451978d6894a1da37a3f4d2ce93a9d">经验的归纳者能在自己的示例中证明他们自己是对的，但其却无法证明所摈弃的方式在别的应用场景下是错的。正如Dr.House所道破的：</div><blockquote class="notion-quote notion-block-6726530f076a469db10e862eebe4cfd0"><div>Just because he was right doesn&#x27;t mean he was wrong</div></blockquote><div class="notion-blank notion-block-e67d608acfbb465abacb9318bba533fd"> </div><div class="notion-text notion-block-2c2467d9bb574305bdd1ea2ead79d5ea">日常工作由无数的细节堆叠而成，业务成败受无数的变量影响，通过归纳法知晓的经验并不能直接通过演绎法来指导实践：</div><blockquote class="notion-quote notion-block-7f6df2ea22fa42a2b6b2c994544180a8"><div>即使有一种成长的方法可以让你在三个月之内成长非常多，也是不可能的，只有经过足够多的实战案例的训练，才能让你成长得最快。每个人都会有自己解决问题的办法，没有永远正确的教条。一定是你自己理解到的，才是你自己的。</div></blockquote><div class="notion-blank notion-block-6439969b732f432596a3f3b6747d23d5"> </div><div class="notion-text notion-block-36355dfc52c346e4b02152f632316c75">所以啊，工作类的书籍，别因为作者那令人羡慕的闪亮背景就将其奉为金科玉律。遇上好的，就得慢慢熬着看，通过实践不断去修正自己的理解。</div><div class="notion-blank notion-block-150a46373cfe4f6d9f5966fd1fdbe894"> </div><div class="notion-text notion-block-791ce6849d524695b3e690ba328b3844">牺牲掉文学阅读时间，试图去换取工作现实经验的醍醐灌顶，是行不通的。因为后者需要大量的时间投入去感受、去修正、去内化、去实践，大多数人仅凭文学阅读的那点时间精力，是远远不够的。这个时间要从其他被浪费掉的时间中去挤。</div><div class="notion-blank notion-block-bbdae817d24a4be9b8d3f365960bca45"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-bce4d99f60bc46a5b4ea9ac62f2e77f3" data-id="bce4d99f60bc46a5b4ea9ac62f2e77f3"><span><div id="bce4d99f60bc46a5b4ea9ac62f2e77f3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#bce4d99f60bc46a5b4ea9ac62f2e77f3" title="阅读不是killing time"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">阅读不是killing time</span></span></h2><div class="notion-blank notion-block-3b795514aa00422e870d27efd40fc9f2"> </div><div class="notion-text notion-block-575ab1bc9cfb4878b75598f0cb6ad5ac">那为什么花在文学阅读上的时间，又不算作被浪费掉的时间呢？为什么这个时间不应该被挤压呢？</div><div class="notion-blank notion-block-1053c97cfa844c9e9abc1e9b2b86ac68"> </div><div class="notion-text notion-block-83887507880843458e555d5b3852d94e">冯内古特在访谈中对此类问题的回答是：</div><blockquote class="notion-quote notion-block-97d9300ed40047d0af2020561f788d5f"><div>人们为了不寂寞会做任何事——就像窒息的人会拼命挣脱这种状态。这就是大型的美国通病，很容易被冷血者利用的疾病：寂寞，难以忍受的寂寞。如果这些人能感受到的寂寞不单单可以被宗教治愈，还可以被艺术、音乐、舞蹈、自由思想治愈的话，就是另一回事了。
你从事艺术，是为了让灵魂生长，而不是以此谋生，让自己获得名声和财富。这是一种蜕变的过程，是长大成人的一种必需品，就像食物、体育锻炼一样。你从中发现了自我。
有很多值得去做的事情是赚不了钱的。它们是让生活更愉快的愉快方式。赞美或是失败什么的，只是噪声。重要的是做的过程，蜕变的过程。剩下的真的无所谓。</div></blockquote><div class="notion-blank notion-block-4ab87448be4f4a7f893b2c9a9b2ab103"> </div><div class="notion-callout notion-gray_background_co notion-block-da1a4eaa38ba4a428ffb39a18bf8a54b"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">从事文学阅读、或者其他一种自己爱好的艺术，是让生活得以熬得过去的一种方式。其中的过程体验，是内啡肽、多巴胺、血清素、乙酰胆碱的集合，不仅有短时间的爽感和愉悦感，还有长期稳定的满足和归属感，而后者是短平快的「快餐文化」情绪体验所无法带来的。</div></div><div class="notion-text notion-block-3c518d3a0e6b430bb26a65225407f4e0">这是不能牺牲文学阅读的原因。</div><div class="notion-blank notion-block-bd3634fb9a1f409b94bb074e2e2a6191"> </div><div class="notion-callout notion-gray_background_co notion-block-7d57d6241c504b21813f52fe89a9b16c"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">但对于非文学行业从业者而言，如果其所从事的工作不是可有可无的毫无意义的工作，那能让自己联结更多个体、堆高自己的人生高度的，更多地还是自己事业中的创造，是把时间线拉长到10年为单位、去坚决而又冷酷地执行后的幸福感，以及对世界施以影响的成就感。</div></div><div class="notion-text notion-block-3e18cf4b662646039c23503be0388584">这是不能主次不分、本末倒置的原因。</div><div class="notion-blank notion-block-cde86696a50c49bca2767186291ce363"> </div><div class="notion-text notion-block-4501768e3974476fb72fccdd68bcc8ba">至于我。</div><div class="notion-text notion-block-f30aaaed7b2c47b88ed47203a017ca13">我还是会在每年的待读书单中为纯文学作品预留几个席位，只是不会再那么紧迫地想尽快体验完这些人类瑰宝了。</div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>