我在CentOS上使用MariaDB运行一个私有的Rails 3.2 Web应用程序,用于不同的客户,他们通常不应该彼此了解,并且绝对不能访问彼此的数据。
我的应用程序有大约80个表,其中大多数都有client_id
列来指定特定客户端的所有权。没有的表通常可以连接在一个表上。
使用Rails我已经编写了一个安全抽象层,根据登录的客户端分离这些记录。
但是,现在我需要将客户端的所有数据公开给第三方应用程序,以便在该第三方程序中进行报告。 (QlikView的)
实现这一目标的好方法是什么?我已经考虑过以下选项:
INTO OUTFILE
通过MariaDB导出CSV:换行和转义内容时出现问题。<field name="username"/>
命名标记,而使用XSLT进行翻译对于大型表格来说再次非常慢。 where
查询一起使用并安装本地MySQL以恢复:相当严格,但我目前只能想到有效的解决方案。然后,Qlikview将通过ODBC直接从本地MySQL安装中提取数据。想知道遇到这个问题的其他人是如何解决它的!我不可能是唯一一个。
补充要点:
数据需要有效。需要在应用程序中进行更改,并且应立即反映在任何转储/转移中或下载到报告工具中。例如,每24小时调度一次转储不是一种选择。
最好我也可以限制某些模型的某些列,例如hashed_password
表格中的User
。