我刚刚开始使用Github,我无法找到如何从Github上的PhpMyAdmin导入我的数据库? 导入后...当我按下代码时会自动更新吗?
答案 0 :(得分:0)
我不确定你要完成什么。
MySQL是一个数据库服务器;它保存数据,可以用于许多客户端的并发访问。
phpMyAdmin是一种可以访问MySQL服务器的特定应用程序类型;它特别制作,因此管理员可以通过添加用户,修改表结构等来更轻松地管理数据库安装。为了让最终用户与您的数据库进行交互,您需要一个自定义应用程序或网站; phpMyAdmin不是为最终用户交互而设计的。
Github是一个软件托管平台,允许软件开发人员托管下载和开发(包括源代码,问题跟踪器和其他工具)。
由于phpMyAdmin和Github都不是“拥有”数据库的东西,因此询问如何从一个数据库导入到另一个数据库没有多大意义。你到底想要完成什么?
修改强>
为了确保所有贡献者都使用相同的数据库模式,您有两种选择:要么您的结构成为他们必须删除数据库并每次导入的主版本(简单但具有破坏性),或者您可以提供升级路径,以便他们导入基本版本,并在更改结构时提供增量升级(更复杂,但可以让他们保留数据)。
要执行第一个(破坏性)选择,您只需导出表结构(可以使用phpMyAdmin“导出”选项卡,选择“结构”按钮)。然后将.sql文件上传到Github,您的贡献者可以下载并导入到他们的MySQL实例。
对于第二个,有许多工具可以为您生成差异,我不知道它们中的任何一个(特别是phpMyAdmin除外)推荐任何一个。但是,您正在寻找的工具可以让您迁移数据库模式或为数据库结构提供版本控制。这些中的任何一个都应该会产生一些结果,并且程序将在您进行更改时生成增量SQL文件(我想这并不常见)。因此,您将发布原始结构,然后进行更改(可能为“上次修改”添加时间戳列)。您将运行您的工具,该工具将创建一个添加该时间戳的文件。您的贡献者可以运行该SQL文件来修改其表结构。然后一段时间后,您可能希望添加另一个表,并重复该过程。
您也可以使用SQL语句轻松地完成此操作;你不需要依赖工具来产生差异。
我个人在这种情况下做的是在我的开发服务器上进行更改,使用phpMyAdmin预览SQL功能查看将要运行的确切命令,然后将其复制并粘贴到.sql我手工制作的文件,我导入到生产服务器。这样,我没有直接对生产服务器进行直接更改;它完全在版本控制和可重现性。有一些工具可以让我更容易,但我很少这么做,我只是手工完成。