与数据库同步的基于 PHP 的数据库模型?

2024-07-04

Django 模型真的很酷,因为您可以在代码中定义所有模型/表,然后将其与数据库同步。这样,当您去更新生产服务器时,您只需运行迁移/同步脚本,并且不会忘记更新任何表。

我现在正在从事的项目不是基于 Django 或 Python,而是用 PHP 编写的,并且所有查询都是用直接 SQL 编写的(无 ORM)。我们有许多数据库,每次进行更改时都需要更新。现在我们基本上是复制和粘贴 SQL 脚本并在需要运行的地方运行它们,或者如果这是一个很大的更改,我们可能会使用脚本。但问题是,有时我们会忘记包含一些 SQL。

但是,如果我们有一个基于代码的解决方案,那么它会自动通过我们的推送进行签入,并且我们不会忘记运行它。所以...我正在寻找一个解决方案,让我们在 PHP 中定义所有模型,但让我们继续直接编写 SQL,而不使用 ORM(项目已经有 10 年历史了,实施起来需要太多工作)现在是 ORM)。如果它也能将我们现有的数据库转换为 PHP 模型,那就太好了。

是否有现有的解决方案?


我还没有使用基于 PHP 的系统以及 Django 提供的出色模型支持,但这个项目看起来很有前途:类似Django的PHP查询接口 http://andrewfreiday.com/2011/06/17/further-work-on-a-django-like-php-orm-framework-phrames/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与数据库同步的基于 PHP 的数据库模型? 的相关文章

  • mysqli_fetch_all 在 PHP 5.4.11 上停止工作

    我有一个带有主机的基本网站 最近mysqli fetch all当我收到消息时 命令似乎已停止工作 Fatal error Call to undefined function mysqli fetch all in file at lin
  • Cron 调度程序 CakePHP 2.0

    我正在使用 CakePHP 2 0 并一直在尝试设置一个 cronjob 来执行控制器中的方法 我一直在疯狂地浏览各种教程和随机网站 看看是否能找到解决方案 我收到的错误是这样的 Undefined variable argc APP we
  • 函数内的函数。?

    此代码生成的结果为 56 function x y function y z return z 2 return y 3 y 4 y x y y y echo y 知道里面发生了什么吗 我很困惑 X 返回 值 3 而 Y 返回 值 2 给定
  • Cakephp:如何将值传递到 JavaScript 文件中?

    我有一些 javascript 包含在视图中 并且我在此线程中使用了 inkedmn 的方法 将页面特定的 javascript 添加到 cakephp 中的每个视图 https stackoverflow com questions 14
  • 在提交之前合并 $_GET 变量[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我不太确定这是否可能 但这是我无法弄
  • PHP回显随机数组并插入数据库而不重复

    我有一个代码可以滚动一个随机数字 并根据获胜者的机会显示获胜者 data array foreach getAllUserTicketHistoryJson as value data value user id number format
  • 是否可以通过简单地交换一些文件来恢复 Postgres 数据库以提高速度?

    这是一个一般的 Postgres 备份和恢复方法问题 基于以下非生产服务器 即本地测试服务器 的用例 我有一个大约 20gb 的数据库 在测试 php 脚本期间我会破坏它 这将导致需要经常删除它并重新创建它 运行转储的 SQL 来恢复它需要
  • 如何使用 TCPDF 将字体嵌入到 PDF 中?

    我尝试使用 TCPDF 其代码如下 require once SERVER DOCUMENT ROOT tcpdf tcpdf php pdf new TCPDF PDF PAGE ORIENTATION PDF UNIT PDF PAGE
  • PDO中使用持久连接有什么缺点

    在 PDO 中 可以使用以下方法使连接持久化PDO ATTR PERSISTENT属性 根据 php 手册 持久连接不会在脚本结束时关闭 而是 当另一个脚本请求连接时 会被缓存并重新使用 相同的凭据 持久连接缓存允许您 避免每次建立新连接的
  • 可与 Microsoft Access 中的“CREATE TABLE”一起使用的字段类型

    我对为 Microsoft Access 生成表创建脚本感到不满 我还没有找到任何描述各种类型的语法的文档 我有找到了文档 http msdn microsoft com en us library bb177893 aspx对于 Acce
  • 即使选择数据库后也会出现“未选择数据库”错误

    我已经选择了数据库 但由于某种奇怪的原因 它仍然说它没有被选择 连接线 location localhost user user pass pass Database Selection link mysql connect locatio
  • 在Java中,如何在TextArea中使用多线程?我需要同步我的线程吗?

    我对 Java 和多线程缺乏经验 所以也许你们可以提供帮助 当我使用多线程时 我在打印 TextArea 框中的一系列数字和字母时遇到问题 这是我的代码 public class MultiThread extends Applicatio
  • SQL 查询提供与多个列匹配的不同结果

    抱歉 我无法为我的问题提供更好的标题 因为我对 SQL 还很陌生 我正在寻找一个可以解决以下问题的 SQL 查询字符串 我们假设如下表 DOCUMENT ID TAG 1 tag1 1 tag2 1 tag3 2 tag2 3 tag1 3
  • 将 3 个具有透明度的图像组合在一起

    我正在做这个项目 我想将三张图像合并为一张 到目前为止 有效的方法是使每个图像 jpg 透明 但将它们合并成新的 png 图像后 透明度就消失了 这是代码 function CreateMyCoolOutfitBaby Outfitwidt
  • 如何在 PHP 中直接将 docx 转换为 ePub? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 试图找到一个 PHP 库 使我能够将 docx 转换为 ePub 我知道 Java 解决方案 例如http code google com
  • 分组依据 - 多个条件 - MySQL

    如何根据条件组合 2 个组 我有一天中每个小时的每个 id 的记录 我想按第一个 id 和当天该 id 的所有记录对信息进行分组 然后按第二个 id 和当天该 id 的所有记录对信息进行分组 我的示例查询是这样的 SELECT r name
  • 如何使用 PHP 在文件上传后重定向用户

    正如标题所说 我希望在用户上传文件后将用户重定向回主页 到目前为止 这些代码所做的只是显示一个包含相关信息 文件名 文件大小等 的页面 我想要将他们重定向到自定义成功页面 HTML
  • Node.js如何重现PHP MD5加密

    我正在将现有的基于 php 的网站转换为 node js 应用程序 并且我需要将这种加密方法从 php 复制到 js private static passwordSalt d2g6IOP U U VUIPU HN V URerjh0 rf
  • 从 android 发送数组并使用 Volley 在 PhP 服务器接收

    你好我想发送一个字符串值数组到 PhP 服务器和 PhP 解码并将它们存储在 PhP 变量中 这是我在 android studio 的代码 private void getEventDetailRespond RequestQueue r
  • 如何读取PHP上传的文件头?

    我们能否在PHP中读取文件的头信息来判断上传的文件类型 我不想依赖 FILES control name from client type 我们知道 该属性通过读取上传文件的扩展名来确定文件类型 如果用户重命名怎么办 test jpg gt

随机推荐

  • 版本升级后异常

    使用 Optaplanner v7 11 0 Final 的项目上出现分数持久性问题 我升级到最新版本 v7 25 0 Final 但出现以下异常 The externalObject Etat super DbObject id 11 l
  • 分组依据,在 pandas 中

    select df id count distinct airports as num from df group by df id having count distinct airports gt 3 我正在尝试在 Python pan
  • 在 javascript/jquery 中从 JSON 中删除元素

    我在 javascript 中从 JSON 对象删除数据时遇到问题 我正在动态创建此 JSON 并且删除也将动态进行 下面是我的 JSON 和我所处的情况 brands 51 2046 53 67 64 现在 我必须从中删除 53 我正在使
  • 如何获取 PostgreSQL 中字符串中正则表达式匹配的位置?

    我有一个包含书名的表 我想选择标题与正则表达式匹配的书籍 并按标题中正则表达式匹配的位置对结果进行排序 单字搜索很容易 例如 TABLE book id title 1 The Sun 2 The Dead Sun 3 Sun Kissed
  • 检查Column中是否存在Cell值,然后获取NEXT Cell的值

    检查列中是否存在单元格值后 我需要获取匹配单元格旁边的单元格的值 例如 我检查中的值是否cell A1存在于column B 并假设它匹配B5 那么我想要的值是cell C5 为了解决前半个问题 我这样做了 IF ISERROR MATCH
  • 如何构建我的 PHP 项目?

    我即将开始另一个大型 PHP 项目 这次 我打算让项目文件夹变得整洁 所以我有几个关于保持我的项目干净和干燥的问题 如何区分 PHP 源文件和浏览器应访问的 PHP 文件 换句话说 我如何清楚哪些 PHP 文件提供输出 哪些提供函数或类定义
  • 在 Python 中访问 Firefox 3 cookie

    我正在尝试制作一个 python 脚本 该脚本将在 Firefox 中使用 cookie 访问网站 如果 cookielib MozillaCookieJar 支持 Firefox 3 它就会工作 有没有办法在 python 中访问 Fir
  • GO 语句破坏了 .NET 中的 SQL 执行

    我有一个非常简单的 C 命令 shell 应用程序 它执行 SQL Server 生成的 SQL 脚本来编写模式和数据脚本 它在 GO 声明中爆炸了 错误信息 GO 附近的语法不正确 这是完整的 sql 脚本 Object Table gy
  • android finish() 方法不会从内存中清除应用程序

    我有一个活动 我调用 finish 方法 但该活动没有从内存中清除 调用 finish 后 我看到 onDestroy 方法已成功执行 并且我清除了其中的所有变量和内容 应该从内存中清除它还是android的工作方式 据我了解 活动的生命周
  • 如何在MIPS汇编编程中打印数字的前几位? [复制]

    这个问题在这里已经有答案了 我是 MIPS Assembly 编程的初学者 我想知道在读入数字后如何打印数字的第一个数字 data number 1 word text read in first number li v0 5 syscal
  • 为什么Scala 支持影子变量? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Python 与 Hive 的连接

    我安装了 Hortonworks Hive ODBC 驱动程序并在数据源中创建了连接 我测试了它并且成功了 我安装了PyODBC并编写了以下代码 import os sys pyodbc con pyodbc connect DSN MyC
  • Python Selenium Webdriver - 代理身份验证

    我想将 Selenium Webdriver 与需要用户身份验证的代理一起使用 这可能吗 这就是我到目前为止所拥有的 但我不知道在哪里放置凭据 user pass proxy port from selenium import webdri
  • .NET 中是否有任何集合可以防止空条目?

    我特别考虑的是履行一套合同的集合 但我认为这个问题可以适用于任何类型 NET 框架中是否存在可以防止空条目的集合 我想要的具体行为是这样的 var set new HashSet bool added set Add null Consol
  • 使用 insertUI 方法创建不同的闪亮小部件

    我有下面的闪亮应用程序 用户可以在数据框中选择一个或多个列名称 name lt c John Jack Bill value1 lt c 2 4 6 add lt c SDF GHK FGH value2 lt c 3 4 5 dt lt
  • 在 Docker 容器中运行不同的 Linux 操作系统?

    我一直在尝试学习 Docker 但令我困惑的一件事是 不同风格的 Linux 对于主机操作系统 实际上是如何在 Docker 容器中运行的 如果我们假设我的 Docker 主机正在运行 RedHat 并且我从 Ubuntu 映像启动一个容器
  • 在头文件 (.h) 中声明构造函数然后在类文件 (.cpp) 中定义 C++ 的语法 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果有人可以解决这个问题 我将不胜感
  • 通过 HAVING(不同)进行分组:PHP、MYSQL

    id mid pid owgh nwgh 1 3 12 1 5 0 6 2 3 12 1 5 0 3 3 3 14 0 6 0 4 4 3 15 1 2 1 1 5 4 16 1 5 1 0 6 4 17 2 4 1 2 7 3 19 3
  • Android RecyclerView:拖放多个ViewType

    I implement drag and drop for a RecyclerView it works well when have one View type but reset the RecyclerView when have
  • 与数据库同步的基于 PHP 的数据库模型?

    Django 模型真的很酷 因为您可以在代码中定义所有模型 表 然后将其与数据库同步 这样 当您去更新生产服务器时 您只需运行迁移 同步脚本 并且不会忘记更新任何表 我现在正在从事的项目不是基于 Django 或 Python 而是用 PH