Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用Ruby on Rails创建新数据库_Mysql_Ruby On Rails 3 - Fatal编程技术网

Mysql 使用Ruby on Rails创建新数据库

Mysql 使用Ruby on Rails创建新数据库,mysql,ruby-on-rails-3,Mysql,Ruby On Rails 3,有没有办法在ROR应用程序中自动创建新数据库 我要做的是为每个注册我网站的新用户创建一个新的数据库。因此,如果新用户注册成功,将创建一个包含一些空表的新数据库 每一个新用户都会得到一个新的数据库,并且每一个新的数据库中都有相同的表,但是每个用户存储的信息会有所不同 我认为我需要它的原因是,如果用户不再想使用我的系统,我可以向他们提供存储在我的数据库中的信息,然后轻松地删除数据库和表 我要找的是类似php中的mysql\u create\u db()的东西,你不觉得你把一个简单的系统变得复杂了吗?

有没有办法在ROR应用程序中自动创建新数据库

我要做的是为每个注册我网站的新用户创建一个新的数据库。因此,如果新用户注册成功,将创建一个包含一些空表的新数据库

每一个新用户都会得到一个新的数据库,并且每一个新的数据库中都有相同的表,但是每个用户存储的信息会有所不同

我认为我需要它的原因是,如果用户不再想使用我的系统,我可以向他们提供存储在我的数据库中的信息,然后轻松地删除数据库和表


我要找的是类似php中的mysql\u create\u db()的东西,你不觉得你把一个简单的系统变得复杂了吗?你的思维方式是不可伸缩的。例如,如果您有数千个用户,则必须创建相同数量的数据库表!!其中大多数表可能没有用处。那绝对是荒谬的

如果你只想实现以下目标

  • 每个用户都有自己的数据
  • 用户可能想要导出数据
  • 如果用户关闭他的帐户,您将删除他的所有数据

然后,您最好将整个应用程序看作一个具有单个数据库的应用程序。相应地设计数据库,并更好地寻找rails的最佳实践来实现这一点。

这不是将用户存储在关系数据库中的好方法,尤其是在使用ruby on rails之类的应用程序框架时,这取决于您的以下配置约定

拥有一个用户模型,然后使用Desive和Cancan gems来管理角色和权限。没有必要在这里重新发明轮子,这正是它要做的

如果还有其他考虑因素,如尺寸或性能,请详细说明。你给出的理由(易于管理)不是走这条路的好理由


这是一个有趣的想法,在其他领域也有应用,但对于标准的用户表来说并不太好。

它不仅仅是一个用户表。用户表将在我的数据库中,但用户表将在数据库中,所有表都与我的用户主表相关。这只是一个概念,我正试图找出不是一个真正的应用程序(嗯,还没有)。例如:如果我让所有汽车零部件经销商在我的网站上存储他们的库存,我希望他们有自己的数据库,因为我不希望所有用户的数据都在一个表中!一旦我读到“可伸缩”这个词,我就做了一个巨大的手掌(我觉得很傻),只是我的用户会有自己的用户来管理(“子用户”)。我的用户还必须操作与其子用户表相关的表中的数据。我只是认为这对于组织和报告来说是一个更简单的解决方案,您可以准确地共享应用程序所需的内容。我们可以提供更好的单一数据库建议:)