V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
comwrg
V2EX  ›  问与答

关于多个项目共用一个数据库的一些问题

  •  
  •   comwrg · 2019-08-17 11:58:26 +08:00 · 2340 次点击
    这是一个创建于 1685 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在的情况是在原有已经定义好表结构的数据库上 建立一个新的项目

    因为新的项目使用的框架 所以需要把所有表的结构用框架所使用语言再写一遍

    请问有没有什么好的处理方法呢?

    1. 不太想再手写一遍表定义
    2. 假如以后表结构变动 有什么好的处理办法
    10 条回复    2019-08-18 07:13:12 +08:00
    wangsongyan
        1
    wangsongyan  
       2019-08-17 12:19:24 +08:00 via iPhone
    看起来需要一个代码生成器
    laminux29
        2
    laminux29  
       2019-08-17 13:30:44 +08:00
    为什么不新建一个数据库?共用数据库,很容易出问题。
    gy123
        3
    gy123  
       2019-08-17 13:57:41 +08:00
    不知道是什么项目管理工具,可以把业务跟数据库实体分模块,然后共用数据库实体模块的方式,减少不必要的代码量
    comwrg
        4
    comwrg  
    OP
       2019-08-17 14:01:02 +08:00
    @laminux29 要用到里面的一些数据呀
    Maboroshii
        5
    Maboroshii  
       2019-08-17 14:06:51 +08:00 via Android
    有同样的需求,学习一下
    gigantic222
        6
    gigantic222  
       2019-08-17 15:43:43 +08:00   ❤️ 1
    不知道你使用什么框架
    1. 看社区有没有数据库到代码的 mapping 生成工具
    2. 如果新项目使用同一框架,可以把负责定义 schema 的代码抽成公共类库在项目里引用
    passerbytiny
        7
    passerbytiny  
       2019-08-17 15:55:10 +08:00   ❤️ 1
    你那个框架的数据库正反向工程能降低你的工作量。但是因为你是多项目公用数据库,每个项目对数据库结构都有控制权限,从而每个项目的自动工程都受限,最终大量的工作还得手工处理。

    如果你现在不搞数据库隔离,将来坑会越来越大。
    akira
        8
    akira  
       2019-08-17 16:30:23 +08:00   ❤️ 1
    你这种叫给自己挖坑。
    原数据结构复制过来,数据克隆一份清洗成新系统要的数据格式,这样干干净净的多好。
    laminux29
        9
    laminux29  
       2019-08-18 04:24:40 +08:00   ❤️ 1
    @comwrg 要用里面的数据,也不需要共用数据库,数据库共享有很多方案,建议使用中间接口稳妥些。
    comwrg
        10
    comwrg  
    OP
       2019-08-18 07:13:12 +08:00
    @laminux29 非常感谢!不过数据库共享有哪些比较好的方案呢?打算使用 RPC 封装起来,不知道可不可行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1704 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:42 · PVG 00:42 · LAX 09:42 · JFK 12:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.