PHP SQL表创建和维护

时间:2011-06-27 16:29:04

标签: php

管理SQL表有哪些好建议?我想放弃手动编写和编辑sql表,因此想知道人们的立场是什么。

我一直在尝试使用Kohana的ORM在我的控制器类中创建一个向上和向下的功能。例如。

Class books_Controller{
   static function up(){
     //create sql database tables;
   }
   static function down(){
     // delete cuurent db table
   }
}

然后我打电话来创建表格,然后向下移除。

books_Controller::up();
books_Controller::down();

这很好,除了在设置新服务器时它可以成为一个创建和更新'init.php'文件的hastle。还可以在每个站点上发布新的特定内容。

提案

我考虑过创建一个简单的在线php终端。例如,我可以访问domain.com/terminal,输入用户名和密码,并能够评估输入。从那里我可以只调整特定的sql表以及其他维护。优点?缺点

我不讨厌sql,但我觉得管理/更新最新的sql文件很麻烦。在sql中,抽象几乎是不可能的。

1 个答案:

答案 0 :(得分:1)

SQL抽象已经存在,但它们的目标是允许相同的语言与多种SQL交互,而不是完全消除它。如果符合您的目的,您可以查看PearDB(http://pear.php.net/DB)。

但是,你说的那种东西实际上是不可能的 - SQL并不是很复杂,如果你实现了一系列足够灵活的函数来封装SQL的功能,你只能成功地创建.. SQL的抽象层,同样复杂且没有供应商支持。这非常像让你的车着火以防止它被盗。

关于你的终端想法,PHPPGAdmin和PHPMyAdmin分别为PostgreSQL和MySQL做了这个。在安全性方面,两个实用程序允许(并且默认情况下,PHPPGAdmin要求)用户来自特定IP范围。纯粹的用户名 - 密码身份验证会直接打开你的数据库直到强力攻击,这是一件坏事。