惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Attack and Defense Labs
Attack and Defense Labs
WordPress大学
WordPress大学
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Spread Privacy
Spread Privacy
AI
AI
宝玉的分享
宝玉的分享
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿
Help Net Security
Help Net Security
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
Forbes - Security
Forbes - Security
P
Privacy & Cybersecurity Law Blog
Project Zero
Project Zero
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
T
Troy Hunt's Blog
美团技术团队
T
Threatpost
K
Kaspersky official blog
V
V2EX
Scott Helme
Scott Helme
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
V
Vulnerabilities – Threatpost
Last Week in AI
Last Week in AI
PCI Perspectives
PCI Perspectives
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
I
InfoQ
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
L
LINUX DO - 最新话题
T
The Exploit Database - CXSecurity.com
L
LangChain Blog
S
Security @ Cisco Blogs
The Last Watchdog
The Last Watchdog
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
TaoSecurity Blog
TaoSecurity Blog

Django

请教下 哪款 vscode 插件可以通过点击跳转 urls 定义 - V2EX Django 一文告诉你 all 懒加载的机制 - V2EX 大家学习编程做项目的时候一开始会容易卡壳吗?比如我今天一个下午才弄出来了博客当中的文章评论加回复功能,有时候会因为一个小点卡壳,稍微复杂点的逻辑就感觉脑子不够用,甚至是给 html 的 div 取变量名的时候脑子也会不够 - V2EX 请教在 ubuntu23 中如何 让 Django runserver 开机自启动 - V2EX 请教 Django runserver 开机自启动的问题 - V2EX 不知道开发的流媒体合租平台有没有意义… - V2EX 公司自主招聘(远程)后端 Go 开发,想要远程岗位抓紧啦 - V2EX [求助] Mediacms 接入 Keycloak - V2EX 有没有好的 drf 项目可以学习下的? - V2EX django 快速开发明明 drf 更好,为啥还是很多人更推荐 fast.api 和忍者 - V2EX django 的同步机制有性能瓶颈为什么还是有很多人用? - V2EX Django 模型自定义 Manager 自定义 filter 如何支持链式调用? - V2EX python3 manage.py build_index 这条 Django 命令到底啥意思啊?官方文档找不到说明,谢谢 - V2EX 前后端分离项目, Django 良好的项目结构是怎么样的 - V2EX Django get_max_test_processes - V2EX Django makemigrations 生成的 migrations 文件,如何放在代码当前目录的文件夹中? - V2EX 请教下大家,Django 的 tests 测试模块,如何不创建新从测试数据库,而是直接操作生产环境数据库谢谢! - V2EX django 好像对于 ios 打不开 admin page - V2EX Django 模板中变量的嵌套 - V2EX 早起把网站的友链网页和自主添加友链功能撸出来了,过来收集一波友链 - V2EX 用 django 调用长时间执行的脚本,如何返还输出呢? - V2EX Django 中递归分类 model 用什么组件显示比较合适? - V2EX django 一开始没用 restfulapi 开发, 还能自动生成文档吗? - V2EX 求推 django 数据可视化插件 - V2EX django 用 docker 部署,要不要每次部署到服务器的时候改改 image 的 settings 配置 - V2EX 有没有使用 django 国际化模块的,针对 django.po 国际化文件写了一个 vscode 的插件 - V2EX Django 访问 relation 时,如何得知是谁访问的? - V2EX django admin 部分自带的 css 文件 collectstatic,生成的文件大小为 0? - V2EX Django 怎么做同一个 url,对应不同的 view 函数? - V2EX 请教 drf 全局封装 response 的优雅实现 - V2EX django 里面的原生的 sql 查询,会一直占用数据库连接吗 - V2EX Django ORM 如何才能在 save_model 插入数据库完成后,再次更新数据库? - V2EX django 定时触发任务 - V2EX 请问 django 怎么高效的获取范围内一条随机数据 - V2EX 请问 Django ORM 如何实现 left join? - V2EX [求助] Django 图片路径的问题 - V2EX 为什么 django ORM 的更新时间字段选择在程序内部生成(auto_now),而不使用 MYSQL 的 on update? - V2EX 有基于 django 的开源博客系统吗? - V2EX Django admin 当中动态显示外键的相关属性 - V2EX Django 如何获取 apscheduler 的 scheduler 实例? - V2EX django3 的 i18n 汉化求救 - V2EX 你们公司的 django 项目如何 - V2EX Django 的 ORM 的 exclude 和 filter 的区别到底是啥? - V2EX 关于如何根据 Accept 的 media_type 返回不同类型序列化数据的想法 - V2EX 请问 Django 在启动的时,如何执行一次性业务代码? - V2EX 推荐一本 django 源码解析的书《深入理解 Django 框架内幕与实现原理》 - V2EX 请问 Django 的 JSONField 字段有没有必要进行索引? - V2EX 分享一个在 Django 的 model 里,使用元类动态添加相似的带自定义中间表的多对多关系字段的方法 - V2EX 咨询个 django 处理耗时任务的问题,顺便找个兼职完成个 demo - V2EX
大家怎么处理开发时 Migration 一大堆,修修改改啰啰嗦嗦,同步到生产之前还得检查合并下这个问题的? - V2EX
licsber · 2024-01-28 · via Django

这是一个创建于 868 天前的主题,其中的信息可能已经有所发展或是发生改变。

开发的时候总会修修改改

然后就看到 migrate 文件一直叠加生成

问题是开发的时候 DB 结构可能被我改来改去 过一会甚至还会有回退的 migrate 文件(

然后强迫症就很不爽 我会在确认修改后把本地数据库整个清掉 然后 git reset 掉所有开发期间的 migrate 文件

再重新生成一遍 migrate 再同步到生产库去

这是正常开发流程吗 怎么感觉一点都不优雅

Vegetable

1

Vegetable      2024 年 1 月 29 日   ❤️ 1

是正常流程,不优雅的是你将数据库改来改去,而你也在最后通过自己的手段压缩了变更,别人看起来就挺优雅的了。
不过这个流程挺容易出事故的,轻则发布失败,重则数据丢失,多人合作很难要求别人整理 migrations 。

stimw

2

stimw      2024 年 1 月 29 日   ❤️ 1

有些语言框架你还得手动写 migration 呢。。比如写 go 的时候用 sqlc

Jat001

3

Jat001      2024 年 1 月 29 日 via iPhone   ❤️ 1

db 修改我都是手写 sql ,原来还有自动的……

licsber

4

licsber      2024 年 1 月 29 日

@Vegetable #1 啊啊啊啊啊 主要是很难受
就开发的时候 自己改着改着 就看到 0004 、0005 、0006 、0007
其中 0006 可能是撤销 0004 的 然后本地如果提交上去我就会看着很不爽
所以手动删掉从本地的 0004-0007 再重新生成一遍 0004 往生产去交

我还以为有更好的方案 可以自动帮我完成 git 和 migrate 的合体(

songray

5

songray      2024 年 1 月 29 日   ❤️ 1

不用 Django, 但是用 Rails.
许多公司的 devops 流程是表结构在「开发设计评审」阶段就确认, 后续修改都要和 code review 的同事对齐. 即便是开发阶段也是不能随便修改.
自己的项目那就随便拉, 只要能跑起来就无所谓.
只有带着镣铐跳舞才能优雅, 这就是为啥公司会有一堆条条框框, 你把镣铐解除了那自然优雅不了辣...
说起来, njit 前辈?

licsber

6

licsber      2024 年 1 月 29 日

@songray #5 哈哈 自己的小项目 都是没有这些条条框框
直接表结构觉得设计的不对就上手改
是滴 学弟嘛?可以加我

arthurblake

8

arthurblake      2024 年 1 月 29 日   ❤️ 1

多人开发 django 项目,migrations 文件夹不提交 git ,每次合并到 master 的时候,重新生成 migrations 文件

HashV2

9

HashV2      2024 年 1 月 29 日   ❤️ 1

@Licsber #4 我就是这样处理的,但是我是按照需求来进行的,比如一个需求产生了 0004 0005 0006 我就三合一再提交,要注意的几个点,一得默认值什么的检查仔细点,二是记得同步 django_migrations 那张表

abersheeran

10

abersheeran      2024 年 1 月 29 日   ❤️ 1

奇怪的强迫症。模型字段不仔细思考就改,是你这个问题的根源。

phithon

11

phithon      2024 年 1 月 29 日   ❤️ 1

上线前我也会这样,上线后就只正经用 migration 来改数据库了。

sampeng

12

sampeng      2024 年 1 月 29 日   ❤️ 1

这也是我一开始碰到的疑问。。后来一看,就 3-4 个人。。我脑子有包有个变更就+1 版本。直接 new 一个版本,在这个版本上改对为止。一次迭代有且只有一个版本

lyxxxh2

13

lyxxxh2      2024 年 1 月 29 日   ❤️ 1

开发时 不用那么每次改数据库都要搞一个版本 怎么方便怎么来

确保提交时的 migration 没问题就行

licsber

14

licsber      2024 年 1 月 29 日

@songray #7 哈哈 学校邮箱吗 好像最近总是出问题 我只能收到大概好几天前的邮件
而且今年过后应该就被回收了 可以发 YWRtaW4jbGljc2Jlci5zaXRl

@yph007595 #8
@HashV2 #9
@sampeng #12
@lyxxxh2 #13 是滴 看来大家都是这样 基本上一个提交就是一个小需求 然后合并开发期间的所有 migrate

@abersheeran #10 自己的小玩具项目 都是想哪改哪 又时候还会返工

@phithon #11 上线后那必须固定下来 migrate 文件了 不然那就是真乱套了 线形历史还是要遵循的

qsnow6

16

qsnow6      2024 年 2 月 2 日   ❤️ 1

测试环境开发完了,把生成的 migrate 文件全删了重新生成,这样只会有一个 migrate 文件,这个不是基操了吗?

licsber

17

licsber      2024 年 2 月 3 日

@qsnow6 #15 觉得很麻烦 觉得会有一种更优雅的方案 没想到大家都是这样哈哈哈