有没有办法在 ROR 应用程序中自动创建新数据库。
我要做的是为每个注册我的网站的新用户创建一个新数据库。因此,如果新用户注册成功,将创建一个包含一些空表的新数据库。
新用户将获得一个新数据库,新数据库将是其中相同的表,但每个用户将存储的信息将不同。
我认为我需要这个的原因是如果用户不再想使用我的系统,我可以向他们提供他们存储在我的数据库中的信息,然后轻松删除数据库和表
我正在寻找的是类似于 mysql_create_db() 在 php
有没有办法在 ROR 应用程序中自动创建新数据库。
我要做的是为每个注册我的网站的新用户创建一个新数据库。因此,如果新用户注册成功,将创建一个包含一些空表的新数据库。
新用户将获得一个新数据库,新数据库将是其中相同的表,但每个用户将存储的信息将不同。
我认为我需要这个的原因是如果用户不再想使用我的系统,我可以向他们提供他们存储在我的数据库中的信息,然后轻松删除数据库和表
我正在寻找的是类似于 mysql_create_db() 在 php
你不认为你正在使一个简单的系统变得复杂吗?你的思维方式是不可扩展的。例如,如果您有成千上万的用户,您必须创建相同数量的数据库表!大多数表格可能没有用。这绝对是荒谬的……
如果您只想实现以下目标
那么您最好将整体视为具有单个数据库的单个应用程序。相应地设计您的数据库,并更好地寻找 Rails 的最佳 DRY 实践来实现它。
这不是将用户存储在关系数据库中的好方法,尤其是在使用像 ruby on rails 这样的应用程序框架时,这取决于您的以下约定而不是配置。
拥有一个用户模型并使用 Devise 和 Cancan gem 来管理角色和权限。没有必要在这里重新发明轮子,这就是它要做的事情。
如果还有其他考虑因素,例如尺寸或性能,请详细说明。你给出的理由(易于管理)不是走这条路的好理由。
这是一个有趣的想法,并且在其他领域也有使用,但对于您的标准用户表来说真的不是很好。