是否有任何现有的 PHP 库可以从数据定义中创建或更新 mysql 表?例如,Silverstripe 可以做到——每个模型都定义了它的数据:
$db = array(
'FieldName' => 'Boolean',
'FieldName2' => 'Text',
);
$has_one = array(
'RelationName' => 'ObjectType'
);
这会生成一个表格
CREATE TABLE classname (Id INT, FieldName BOOLEAN, FieldName2 TEXT, RelationNameId INT)
或者其他的东西。当您将列添加到 db 数组时,它们会添加到数据库中;如果新表与旧表不兼容,则创建一个新表并将旧数据导入新表。很确定它也可以处理各种索引和事物。
是否有任何独立的 PHP 库可以做到这一点?我不想在这个项目中使用 Silverstripe。
我的最终目标是能够在 HTML 中创建一个表单,其中包含一个表标识符和几个输入字段,并将其提交给一个控制器,该控制器将为每个提交的数据创建一个包含数据类型的表。如果我在表单中添加一个字段,我希望控制器更新相应的表。
请不要建议一种从数据类型数组编写 CREATE TABLE 语句的方法——这只是我需要的开始。我还需要能够通过更改 PHP 中的数据类型数组来更新现有表——这比简单地创建一个 CREATE TABLE 要困难得多。