代码之家  ›  专栏  ›  技术社区  ›  abel

在运行时创建表与在运行时创建数据库

  •  1
  • abel  · 技术社区  · 15 年前

    应用程序结构如下:

    网站文件 :.php、.htm、图像和css

    该应用程序目前正被该公司和另外两个姐妹公司使用(主要是beta测试)。由于用户基数很小,我手动复制网站文件和数据库以设置应用程序供新公司使用。 我正在寻找一种方法,使应用程序更'可扩展',而不必手动做'缩放'。(这意味着我不想手动管理三个不同的文件集和数据库) 由于代码与公司无关,并且数据库包含公司信息,因此我只需要在用户请求设置新公司时重新创建数据库。有多种方法可以为新公司创建数据库。

    1. 在运行时我可以 创建新数据库 使用CREATE DATABASE创建20多个表

    2. 在运行时我可以 创建额外的20多个表 使用CREATE tables将公司名称作为表的前缀

    3. 我可以 添加公司列 添加到我的所有表,然后继续像以前一样添加信息。

    第二个选项意味着我可以在一个数据库中创建所有内容。但这个选项更“共享”。

    所以我的选择是选择1和2。管理过金融应用程序的开发人员,请给出建议,因为一旦beta测试阶段结束,使用量将会增加,我不希望在10个数据库和文件集中手动更改相同的内容。最好的办法是什么?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Lekensteyn    15 年前

    从安全的角度来看,客户应该有单独的数据库,这限制了MySQL用户的访问。 该用户应该只拥有应用程序所需的权限(通常是选择、插入、删除和更新),而不是管理权限(删除、创建、授予…)。这样,您就可以清楚地了解数据库和表。

    CSS、图像和其他静态内容可以放在子域中,或者 Alias (阿帕奇)
    include_path 包含这样一个文件,所以您只有一个需要更改的文件集。