搞 WEB 的童鞋,请问大家怎么管理数据库的?用什么方法能方便的把整个项目在一台新机器跑起来? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LuckyHJH
V2EX    问与答

搞 WEB 的童鞋,请问大家怎么管理数据库的?用什么方法能方便的把整个项目在一台新机器跑起来?

  •  
  •   LuckyHJH 2015-06-15 15:18:25 +08:00 3028 次点击
    这是一个创建于 3773 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是个PHPer,平时会用git和bitbucket来管理代码,最近突然想到一个问题,怎样才能把整个项目给别人?我在一台新机器把代码clone出来了,但才发觉只有代码没有数据库,在本地根本跑不起来啊!
    所以想请教各位搞WEB开发的(不一定是PHP),你们是怎么管理数据库?怎样才能方便地在一台干净的机器跑起来?
    15 条回复    2015-06-15 16:54:34 +08:00
    randyzhao
        1
    randyzhao  
       2015-06-15 15:21:23 +08:00
    写一个 database.sql
    再写一个 install_database.sh
    LuckyHJH
        2
    LuckyHJH  
    OP
       2015-06-15 15:23:47 +08:00
    我平时导入项目的方法比较粗暴,都是直接拿下代码,然后把sql导入数据库,修改数据库相关的配置,然后设置目录权限什么的就把项目跑起来了。但是有时候开发途中,修改代码的同时数据库的结构也会修改,于是这时管理数据库起来就麻烦了……难不成要导出个sql再一起更新到git?
    binux
        3
    binux  
       2015-06-15 15:28:30 +08:00
    难不成要导出个sql再一起更新到git
    是的
    LuckyHJH
        4
    LuckyHJH  
    OP
       2015-06-15 15:29:17 +08:00
    @randyzhao 所以就是把数据库导出为database.sql,然后也更新到git咯。
    只是觉得有点麻烦,并且开发途中会有好多测试数据,然后我本人有少少洁癖(强迫症?)……会觉得这样数据库不漂亮 - -
    cevincheung
        5
    cevincheung  
       2015-06-15 15:30:55 +08:00
    用sqlite……
    wesley
        6
    wesley  
       2015-06-15 15:32:57 +08:00
    如果你用laravel框架开发的话,直接执行 php artisan migrate
    LuckyHJH
        7
    LuckyHJH  
    OP
       2015-06-15 15:33:57 +08:00
    @binux 如果数据库比较大呢?
    LuckyHJH
        8
    LuckyHJH  
    OP
       2015-06-15 15:36:30 +08:00
    @wesley 是啊!所以最近都在学laravel了,一个牛逼碉堡的框架。
    但以前还是有不用laravel的情况……
    binux
        9
    binux  
       2015-06-15 15:49:15 +08:00
    @LuckyHJH 数据不导出啊,你程序难道缺了数据就不能跑了吗?
    randyzhao
        10
    randyzhao  
       2015-06-15 16:22:46 +08:00
    @LuckyHJH 设计数据库的时候, 就把 database.sql 都写好了.
    之后如果有修改, 只向 database.sql 里提交非数据的内容. alter 什么的

    然后搭建新环境 只需要运行 install_database.sh 就可以了.

    其实我们还有一个 data.sql, 里面存放的是一些静态表的数据, 比如: 城市表.
    这些数据, 同样以 sql 文件的形式在 git 中维护.
    ksupertu
        11
    ksupertu  
       2015-06-15 16:24:59 +08:00
    docker打包个镜像
    9hills
        12
    9hills  
       2015-06-15 16:28:33 +08:00
    database.sql 里放的是建表语句

    tests/data.sql 里可以放测试用的测试数据,强烈建议把测试数据也保存起来。。
    oott123
        13
    oott123  
       2015-06-15 16:44:13 +08:00
    好好写数据库迁移……
    xujif
        14
    xujif  
       2015-06-15 16:48:07 +08:00
    这时候才体会到migrate的魅力
    alayii
        15
    alayii  
       2015-06-15 16:54:34 +08:00
    vagrant 一个数据库虚拟机,共用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3161 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:18 PVG 20:18 LAX 05:18 JFK 08:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86