V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
289396212
V2EX  ›  程序员

大家在工作中创建服务端项目的数据库表都是怎么设计怎么建的?手写 SQL,用 GUI 工具还是 ORM 框架?

  •  
  •   289396212 · 186 天前 · 3121 次点击
    这是一个创建于 186 天前的主题,其中的信息可能已经有所发展或是发生改变。
    37 条回复    2024-05-30 09:13:10 +08:00
    wizzer
        1
    wizzer  
       186 天前
    ORM 框架 nutz 里的 dao
    GeekGao
        2
    GeekGao  
       186 天前   ❤️ 1
    先写数据字典文档,然后用 GUI 工具。
    linauror
        3
    linauror  
       186 天前
    GUI 工具,边想边建
    sketcherly
        4
    sketcherly  
       186 天前
    GUI
    289396212
        5
    289396212  
    OP
       186 天前
    @linauror 都用的啥 GUI 工具呢?
    Ayanokouji
        6
    Ayanokouji  
       186 天前
    建表手写 sql ,gui 太磨叽
    dandankele
        7
    dandankele  
       186 天前
    话说你们先写业务代码还是先设计数据库啊?我以前都是先设计数据库表,然后再写业务代码。。但现在觉得也可以先写业务代码,再设计数据库表。。。
    前者的话,我是直接用 navicat 设计表的,然后再用 orm 工具生成 PO 。。后者的话。。我还没尝试过。但感觉后者搞不了。。因为我写的是业务实体,并不一定代表了数据库表的结构
    289396212
        8
    289396212  
    OP
       186 天前
    @Ayanokouji GUI 不是可以看到各个实体之间的关系,更加清晰,避免问题吗?
    hehe5120
        9
    hehe5120  
       186 天前
    手写,或者复制类似表的 SQL 过来修改一下。
    esee
        10
    esee  
       186 天前
    navicat 呗,一边写一边改
    startisan
        11
    startisan  
       186 天前
    先写文档,然后评审,最后手写 SQL (毕竟代码要归档)。
    Pantheoon
        12
    Pantheoon  
       186 天前
    用的最好的工具是 navicat,可惜,没有 license,现在全部手写,没有找到称手的工具
    wxw752
        13
    wxw752  
       186 天前
    我是把需求和之前建表的 sql 发给 gpt ,让它帮我写成 sql ,这么干起码已经半年了。。。
    highFreqSurfer
        14
    highFreqSurfer  
       186 天前
    直接写 model, 然后用 orm 开自动迁移
    coala
        15
    coala  
       186 天前
    额,prompt + gpt + PDManer + 代码生成器.. 我好懒
    ChoateYao
        16
    ChoateYao  
       186 天前
    用 Excel ,然后转换成 Class ,最后自动生成 SQL
    Ayanokouji
        17
    Ayanokouji  
       186 天前
    @289396212 现在又不使用外键,gui 也没啥吧,写 sql 前都是有设计文档的,最次也有个脑图。
    zyxbcde
        18
    zyxbcde  
       186 天前 via iPhone
    先写文档,然后通过文档生成建表 sql ,然后根据表结构生成代码。
    sampeng
        19
    sampeng  
       186 天前
    以前是会喜欢用 dao 自动生成,后来发现。。。。。。。。。。。。。。。。。。。。。。。
    还是 gui 生成了 sql 扔到 mirgrate 里面香
    ashuai
        20
    ashuai  
       186 天前
    用 markdown 写数据字典,定稿了用脚本把数据字典跑成 sql 脚本。

    你这一问,我有个想法,打算写个 obsidian 插件,自动在数据字典表格下面挂 SQL
    nothingistrue
        21
    nothingistrue  
       186 天前
    第一版可能 GUI 或者 ORM ,但后面 99%都要手写。DB 跟 代码的正反向工程,就是一个看起来很美,但因前台太苛刻而难以用起来的东西。光一个「除了 DBA 和做映射的,谁都不能动数据库」这个小前提,实现难度就很大——这意味着造测试数据、查询优化这种原本半个小时的活,往往要好多天(倒不是实际要搞那么多天,而是要等流程)。
    wuyiccc
        22
    wuyiccc  
       186 天前
    直接写 sql ,感觉 sql 简单明了一些
    xguanren
        23
    xguanren  
       186 天前
    我是要么用 navicat 要么 phpmyadmin 反正就是建表用 然后 sql 导出看一眼 再喂给 gpt 看看有没有什么优化的地方.
    然后 gorm 的那个 gen 工具生成
    单表的话 https://old.printlove.cn/tools/sql2gorm 用这个在线转换下结构体
    leyfung
        24
    leyfung  
       186 天前
    BeiChuanAlex
        25
    BeiChuanAlex  
       186 天前
    居然没有看到用 PowerDesigner 的。。。。。。

    边建表边写代码,一边写代码一边改 schma 也许才是真实写照吧。
    james122333
        26
    james122333  
       186 天前 via Android
    手写 sql 搭配 vim 也可以 虽然插件不怎么样 但还是可以运作 vim-dadbod vim-dadbod-ui
    储存请求就会送出
    https://github.com/kristijanhusak/vim-dadbod-ui
    james122333
        27
    james122333  
       186 天前 via Android
    vim 从不同 buffer 补全内容还是挺爽的
    lujiaxing
        28
    lujiaxing  
       186 天前
    EFCore Code First
    dayeye2006199
        29
    dayeye2006199  
       186 天前 via Android   ❤️ 1
    ORM
    从不手写 sql
    levelworm
        30
    levelworm  
       186 天前
    GUI 生成。大公司什么东西都喜欢自己搞一套。
    xuanbg
        31
    xuanbg  
       186 天前
    手写最方便也最快,CV 大法速度飞起。GUI 用起来太麻烦
    endoffight
        32
    endoffight  
       186 天前 via Android
    gorm + migration
    dododada
        33
    dododada  
       186 天前
    问个问题,一般都是手写 sql 的情况下,线上 sql 要审核,orm 顶多用来做做连接,各种操作都是纯 sql ,除了 DBA 执行 update ,代码层面和数据库有什么方便的同步手段么
    CoffeeY
        34
    CoffeeY  
       186 天前
    基础遵循三大范式、建模输出 E-R 图、评审无异用生成的 sql 或者 GUI
    wxyrrcj
        35
    wxyrrcj  
       186 天前
    datagrip 写完 sql 复制到 idea
    unco020511
        36
    unco020511  
       186 天前
    GUI
    duzhuo
        37
    duzhuo  
       185 天前
    首先排除第一个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2464 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:52 · PVG 12:52 · LAX 20:52 · JFK 23:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.