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

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

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

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

tests/data.sql 里可以放测试用的测试数据,强烈建议把测试数据也保存起来。。
oott123
2015-06-15 16:44:13 +08:00
好好写数据库迁移……
xujif
2015-06-15 16:48:07 +08:00
这时候才体会到migrate的魅力
alayii
2015-06-15 16:54:34 +08:00
vagrant 一个数据库虚拟机,共用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/198697

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX