繁体   English   中英

如何将sqlite3文件添加到Rails填充数据库中的ruby?

[英]How do you add sqlite3 file to a ruby on rails populated database?

我有一个Ruby on Rails应用程序,其数据库中装有程序。 我还拥有一个sqlite3数据库,该数据库几乎与RoR应用程序中的数据库完全一样(未创建,未更新)。 我想将sqlite3数据库导入Rails应用程序(而不是与database.yml文件结合在一起,将两个数据库结合在一起),经过大量的google搜索,我不知道该在哪里进行该操作。 我将在哪个文件中执行此操作,什么是最佳方式?

技术含量较低的方法是将SQLite数据库转储到可以导入其他数据库的内容中。 MySQL的LOAD DATA INFILE非常灵活,如果配置正确,甚至可以读取CSV文件,因此这可能是一种简单的方法。

通常,我发现最好按原样导入您的外部表,但要转换名称,以便可以将它们标识为非本地表。 例如,使用_import为所有前缀加上_import ,以明确表示它们不属于常规架构。 然后,您可以使用一系列执行重新映射的语句从这些表迁移到本机表:

INSERT INTO foo (x,y) SELECT (x,y) FROM _import_foo

这样可以轻松解决缺少列或名称略有差异的问题。 如果需要,您还可以对特定的列执行转换。

与往常一样,在开始此操作之前,请确保已拥有数据库的快照,因为通常很难进行合并。

另一种方法是同时创建两个数据库连接,并使用一侧的SELECT和另一侧的INSERT INTO在两个数据库之间穿梭数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM