管理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中,抽象几乎是不可能的。
答案 0 :(得分:1)
SQL抽象已经存在,但它们的目标是允许相同的语言与多种SQL交互,而不是完全消除它。如果符合您的目的,您可以查看PearDB(http://pear.php.net/DB)。
但是,你说的那种东西实际上是不可能的 - SQL并不是很复杂,如果你实现了一系列足够灵活的函数来封装SQL的功能,你只能成功地创建.. SQL的抽象层,同样复杂且没有供应商支持。这非常像让你的车着火以防止它被盗。
关于你的终端想法,PHPPGAdmin和PHPMyAdmin分别为PostgreSQL和MySQL做了这个。在安全性方面,两个实用程序允许(并且默认情况下,PHPPGAdmin要求)用户来自特定IP范围。纯粹的用户名 - 密码身份验证会直接打开你的数据库直到强力攻击,这是一件坏事。