数据库 Migration

数据库 Migration
Photo by Shubham Dhage / Unsplash

记录一下最近开发项目时,使用 typeorm + postgresql 开发业务,用版本化的方式来管理数据库结构的变化,这样数据进行更新时才会安全可控,而且还可以回滚迁移。

typeorm 是如何跟踪这些变化的呢,所有的变动都能通过 migrate 的方式记录下来,主要是依赖数据库自身底层的机制,尤其是二进制日志,即 Binary Log,简称 binlog

记录结构变更(DDL): 当执行 CREATE TABLEALTER TABLEDROP TABLE 等数据定义语言(DDL)语句时,都会被 binlog 详细记录下来

记录数据变更(DML): 当执行 INSERTUPDATEDELETE 等数据操作语言(DML)语句时,binlog 也会记录修改前和修改后的数据

我使用 typeorm 来执行这些 migrate,主要有以下几个命令:

"migration:create": "npm run typeorm migration:create"

创建数据库迁移文件

"migration:generate": "npm run typeorm migration:generate -d src/config/database.config.ts"

用于自动生成迁移文件,并生成相应的 SQL 语句

"migration:run": "npm run typeorm migration:run -d src/config/database.config.ts"

用来运行所有没执行的迁移动作,将数据库更新到最新的 Schema 版本

"migration:revert": "npm run typeorm migration:revert -d src/config/database.config.ts"

回退到之前的 Schema,撤销最近一次的数据库变更,类似 git revert 的功能

Read more

AI 时代的一次远程面试经历

AI 时代的一次远程面试经历

今天聊了一个远程面试,记录一下自己的感受: 负责人也是技术出身,刚好负责两个团队,一个在美国做 AI Startup,还有一个在香港做软件开发,所以我们直接约了个群聊,相互介绍了团队和自己在当前节点的状态,以及对这个职位的预期 我对这两种业务模式都有兴趣,相当于是一次性参加了两个面试了: AI Startup 这种模式,我刚好在 23 年的时候,跟微软和字节的朋友一起做 AI 电商创业,当时从立项,研发逐步推进,MVP 构建,VC 融资,市场营销方面跟了下来,学习到了非常多的东西 而外包业务,我在很多年前就开始做一些副业,与甲方沟通需求,自己找 UI ,测试的成员组队,可能与多数人不同的是,我对外包项目的接受度很高(这里说的不是传统的如中软,东软那样的外包团队),而是创业型的外包公司,这种环境下,是真的可以在技术、业务、商务、业务视角学到很多。 远程面试一般比较直接,大家都直奔主题,能够迅速感知到候选人和团队的契合程度,在

郑州互联网薪资统计及 AI 时代的现状

郑州互联网薪资统计及 AI 时代的现状

22 年郑州前端薪资真实统计(200+份样本) 22 年我在郑州前端大群里面统计了一波郑州互联网薪资,当时以为只是开始,想着后面会有更多的企业来到郑州,情况会越来越好,而现在回头来看,没想到那时才是顶峰。 当时在群里面收集到 200+ 位投票,匿名填写自己的薪资情况,当时跟大家特意强调了要保证数据的真实性,也找群员验证过,基本真实性可信: * 🐣 3-6k 占比不少,主要是郑州的工资水平低,对于刚出来的,在小公司的这个薪资也正常,实习生 or 小作坊 * 🐰 6-12k 的占大多数,涵盖了郑州本土大多数互联网公司的薪资范畴,大多数的常规业务开发 * 🐵 12-20k 主要集中在本土大公司、一线城市在郑州的研发团队、外包公司,核心业务开发人员 🦄 20k+ 高学历 or 有大厂经验,主要为本土大公司或者一线公司在郑州的带队 leader ,能力较强,一般承担一些管理角色。 25年:职场寒冬来袭,状况还在持续恶化 一线公司研发部门的撤离 这也是我最在意的一条: 之前有一些一线城市的研发交付部门会在郑州有成立研发交付中心,从疫情之后,

RAG不是万能的,附常见误解与澄清

RAG不是万能的,附常见误解与澄清

能给人理清目前 AI 在生产落地的问题,是一件难能可贵的事情,AI 在生产落地会有哪些阻碍的讲解,讲干货的真的是很少,至少我自己曾经在这个问题上困惑了很久。 因为之前我在 AI 电商团队,做具体的 AI Sass 落地的时候,团队经常会沟通做到生产级可用的 AI,需要哪些东西,大概的门槛还是了解到一些的,我的能力也顶多在应用层面去做一些工作量的定制与代码衔接,涉及到模型层面,一概歇菜,很多人估计只是想着,写一个 Prompt ,就是真正的拥抱 AI 了。 当我看到自媒体里面铺天盖地的在讲 AI 如何帮助企业提效,如果重塑行业的时候,有种很复杂的感觉,他们真的懂 AI 吗,甚至他们真的懂软件吗? 基本上现在大家接触到的方式就几种: * 割韭菜卖课,讲概念,前景,这些基本上都是拿别人的产品来给自己做嫁衣,自己顶多是个工具的使用者和营销者,比如用 Midjourney,Kimi,豆包,海螺什么的,告诉大家用了就能提效,获得流量,

Shopify 构建商城页面的几种方式

Shopify 构建商城页面的几种方式

当用户需要对 Shopify 商城页面有自定义的需求时,一般会选择: 1、直接使用官方商城的 theme 来构建,可以使用,但是免费模板较少,只有 13 个。 2、使用第三方 theme 来构建,也有很多的模板可以选择,比如 envato 上有数百个 shopify 的模板,这是个非常大的市场。 3、完全自定义开发,自由度最高 当用户对 Shopify 商城页面,有完全自定义的需求,通常是常规主题无法满足需求,推荐使用 Shopify Hydrogen 的官方方案,开发人员可以对商城进行完全的页面级别的自定义。 而对于开发人员来说,官方的 Shopify Liquid 开发起来的效率和体验,是不如 Shopify Hydrogen 来的舒服,而且使用 Shopify Hydrogen ,还可以对性能有提升,