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

大家数据库建表都是徒手写 Sql 还是利用 GUI 等一些工具来建表?

  •  
  •   Firesnail · 2017-10-10 10:35:40 +08:00 · 10102 次点击
    这是一个创建于 2603 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家都用啥?有啥好用的工具没?例如 workbench,pgadmin 等

    60 条回复    2017-10-11 12:59:07 +08:00
    pofycn
        1
    pofycn  
       2017-10-10 10:37:36 +08:00 via iPhone   ❤️ 2
    hedisql
    l00t
        2
    l00t  
       2017-10-10 10:40:11 +08:00
    手写
    tabris17
        3
    tabris17  
       2017-10-10 10:41:21 +08:00
    hedisql+1
    免费的
    f2f2f
        4
    f2f2f  
       2017-10-10 10:41:55 +08:00
    Toad
    Mac
        5
    Mac  
       2017-10-10 10:42:03 +08:00
    hedisql +1,话说这个版本狂最近都没更新过
    awolfly9
        6
    awolfly9  
       2017-10-10 10:44:03 +08:00
    @pofycn @tabris17 hedisql 不支持 mac
    xsd3169
        7
    xsd3169  
       2017-10-10 10:45:02 +08:00
    Navicat Premium
    hjq98765
        8
    hjq98765  
       2017-10-10 10:47:22 +08:00
    Navicat Premium

    有时候用 excel 批量手写代码
    kangkang
        9
    kangkang  
       2017-10-10 10:48:06 +08:00   ❤️ 2
    mac 上的 Sequel Pro 很好用
    awolfly9
        10
    awolfly9  
       2017-10-10 10:48:48 +08:00
    @kangkang 导入导出还有拷贝表不方便
    yulitian888
        11
    yulitian888  
       2017-10-10 10:49:05 +08:00   ❤️ 1
    只是建表的话,手写和工具有区别吗?工具一样有手写功能。
    但是建表往往并不意味着只是 create table。
    比如
    场景 1:版本迭代加了几个字段,甚至还是 not null 的 /有外键的。那么需要做 [增量发布脚步] 才能满足需要
    场景 2:同时使用多种数据库,或者一种数据库的不同版本,在关键字和语法上有少许差异。而一个开发者可能并不熟悉其中的细节区别。

    这两种场合下,能够用 IDE 自动生成增量包,自动生成 Create/Alter 脚本显然比手写稳妥得多
    另有场景 3,4,5,6,7....就不一一列举了,如果手写能搞定一切(注意是一切)的话,那些做 IDE 的厂商难道是脑子进水了才去开发 IDE 出来卖么?

    所以:我站队 IDE
    gosky
        12
    gosky  
       2017-10-10 10:49:26 +08:00
    先设计,然后生成 sql 脚本
    kslr
        13
    kslr  
       2017-10-10 10:51:54 +08:00
    写迁移脚本,毕竟数据库也要做版本控制。
    DreamCMS
        14
    DreamCMS  
       2017-10-10 11:01:50 +08:00
    phpmyadmin
    ipconfiger
        15
    ipconfiger  
       2017-10-10 11:03:30 +08:00
    Sqlalchemy 直接写 model 然后 alembic 啊
    tabris17
        16
    tabris17  
       2017-10-10 11:11:06 +08:00
    @awolfly9 换系统
    lululau
        17
    lululau  
       2017-10-10 11:28:34 +08:00
    Rails model/resource/scaffold/migration generators
    BBCCBB
        18
    BBCCBB  
       2017-10-10 11:31:30 +08:00
    直接 powerdesigner
    noNOno
        19
    noNOno  
       2017-10-10 11:35:42 +08:00
    Navicat Premium
    zhengxiaowai
        20
    zhengxiaowai  
       2017-10-10 11:39:39 +08:00
    ORM。。。怎么算
    qiyuey
        21
    qiyuey  
       2017-10-10 11:45:12 +08:00
    DataGrip,GUI 初步设计,手工精修 SQL
    sunmoon1983
        22
    sunmoon1983  
       2017-10-10 11:49:38 +08:00
    @pofycn hedisql 没有代码提示,用的太不习惯了
    barbery
        23
    barbery  
       2017-10-10 11:50:43 +08:00
    以前都用 workbench 建模,后面发现太麻烦了,现在直接用框架 migration 算了
    evlos
        24
    evlos  
       2017-10-10 11:51:31 +08:00 via iPhone
    HeidiSQL 楼上没有一个把名字打对的 😂
    0ZXYDDu796nVCFxq
        25
    0ZXYDDu796nVCFxq  
       2017-10-10 11:54:04 +08:00
    from db.database import init_db
    init_db()
    glocal
        26
    glocal  
       2017-10-10 11:55:22 +08:00
    Heidi 是一部儿童文学小说,中文是阿尔卑斯山上的少女
    gcli
        27
    gcli  
       2017-10-10 11:55:34 +08:00
    手写 ,
    gui 的话推荐 DataGrip
    Intellij 出品
    ZXCDFGTYU
        28
    ZXCDFGTYU  
       2017-10-10 12:08:19 +08:00
    navicat
    BiggerLonger
        29
    BiggerLonger  
       2017-10-10 12:08:31 +08:00
    sqlalchemy....
    doubleflower
        30
    doubleflower  
       2017-10-10 12:20:22 +08:00 via Android
    用 gui 真没手写快。

    且手写的 sql 可以方便版本管理。
    jin7
        31
    jin7  
       2017-10-10 12:24:34 +08:00 via Android
    datagrip
    Yemilice
        32
    Yemilice  
       2017-10-10 12:27:11 +08:00
    手写
    Mutoo
        33
    Mutoo  
       2017-10-10 12:28:52 +08:00
    做稍大点的项目的话,一般需要配合框架写 migrate 脚本,所以算是手动吧。
    fuxkcsdn
        34
    fuxkcsdn  
       2017-10-10 12:33:16 +08:00 via iPhone
    手写
    gcli
        35
    gcli  
       2017-10-10 13:33:21 +08:00
    手写,版本管理用 liquibase,GUI 用 DataGrid
    l00t
        36
    l00t  
       2017-10-10 13:45:38 +08:00
    @yulitian888 哪些 IDE 能自动生成增量脚本?
    xman99
        37
    xman99  
       2017-10-10 14:06:25 +08:00
    习惯手写
    yulitian888
        38
    yulitian888  
       2017-10-10 14:10:28 +08:00
    @l00t
    微软的 VS IDE 可以( SQL server 自带命令行可以)
    NaviCat Premium 可以(但是只能从数据库到数据库,不能从脚本到数据库)
    RedGate 有 SQL Compare、MySQL Compare (这个不算 IDE,全家桶里的组件)
    jy01264313
        39
    jy01264313  
       2017-10-10 14:11:22 +08:00
    还是用一些 ORM 吧,手写的估计没有一个关键字会大写,基本没有符合规范的
    cat9life
        40
    cat9life  
       2017-10-10 14:29:45 +08:00
    目前没用很复杂的表.. 还是手写为主
    wizardoz
        41
    wizardoz  
       2017-10-10 14:30:46 +08:00
    orm
    codelover2016
        42
    codelover2016  
       2017-10-10 14:34:08 +08:00
    MySQL WorkBench
    ferock
        43
    ferock  
       2017-10-10 15:08:41 +08:00
    hedisql 没有 mac 版
    toyuanx
        44
    toyuanx  
       2017-10-10 15:18:17 +08:00
    mysql SQLyog
    bitsjx
        45
    bitsjx  
       2017-10-10 16:11:15 +08:00
    必须手写啊,代码服务器被隔离,只能远程连接,除了基本的代码工具(source insight/xshell),其它啥都没有
    lxrmido
        46
    lxrmido  
       2017-10-10 16:15:17 +08:00
    Sequel Pro,mac,免费的
    wawehi
        47
    wawehi  
       2017-10-10 16:55:06 +08:00
    同楼上
    izoabr
        48
    izoabr  
       2017-10-10 17:05:37 +08:00
    ORM 去干,很少动数据库
    chengxiao
        49
    chengxiao  
       2017-10-10 20:50:09 +08:00
    ORM,django 的 ORM 太好用了
    fluyy
        50
    fluyy  
       2017-10-10 21:05:25 +08:00 via iPhone
    手写
    tairan2006
        51
    tairan2006  
       2017-10-10 21:18:38 +08:00
    java 的话基本手写…

    Python 的时候有时用 orm,但是没用过 migration …
    WispZhan
        52
    WispZhan  
       2017-10-10 21:33:27 +08:00
    ORM, code first。
    Java 和.Net C#
    直接以 DDD 设计 Entity,设计聚合根。
    beginor
        53
    beginor  
       2017-10-10 22:19:42 +08:00 via Android
    @awolfly9 通过 wine 完美运行 hedisql 😄
    levon
        54
    levon  
       2017-10-10 22:24:06 +08:00
    Entity Framework Code First,修改实体后自动更新,无压力
    testcount
        55
    testcount  
       2017-10-10 23:18:06 +08:00
    手写 SQL,改表 pt-online
    fortunezhang
        56
    fortunezhang  
       2017-10-11 08:15:15 +08:00
    看了一圈,还好不是我一个人用 phpmyadmin,逃:)
    simapple
        57
    simapple  
       2017-10-11 08:34:57 +08:00
    手写+navicat
    Clarencep
        58
    Clarencep  
       2017-10-11 09:04:02 +08:00
    @toyuanx 握爪

    SQLyog+1
    zhouyou457
        59
    zhouyou457  
       2017-10-11 10:13:19 +08:00
    powerdesigner +1,话说这建库建表不是先设计然后开会讨论定型了在根据数据库导出 sql 的嘛?
    resturlaub
        60
    resturlaub  
       2017-10-11 12:59:07 +08:00
    phinx
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1033 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:05 · PVG 04:05 · LAX 12:05 · JFK 15:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.