我非常接近使用本指南将我的Rails应用程序部署到一个数字海洋VPS
但是关于数据库部分有一些混淆。在我的开发中,我使用了SQLite3数据库。但指南只显示了MySQL和PostgreSQL。这是因为SQLite3不是用于生产服务的吗?是否需要将SQLite3数据库转换为MySQL数据库以传输表等?
发布于 2014-11-01 12:40:12
如果您的网站是用于简单的数据存储和检索,那么您可以执行sqlite3,但是对于mysql或pgsql,它缺乏对多用户并发的支持。此外,如果你想一次插入类似10k的数据,那么你可能需要用gooogle和返回来寻找答案,关于如何在至少时间内插入那么多的记录。SQLite主要用于移动游戏(数据存储),浏览器(如火狐)用于为single用户存储数据(主要是)。
现在,如果您要在Postrgres和Mysql之间作出决定,我建议使用Pgsql,因为并不是mysql不好,但取决于您使用的引擎,您可能或者可能没有某些功能,而且我非常不喜欢mysql处理not NULL和默认值的方式。
如果您有一个使用多租户的应用程序,例如一个银行应用程序,其中您有一个用户表,然后您希望在database级别上区分您的用户数据,那么pgsql最有效,因为它的模式支持。例如,在大学入学申请中,每一所大学都可以有其单独的模式结构。
为了在数据库之间切换,您只需要修改database.yml文件,然后迁移它,正如所回答的那样。
发布于 2014-11-01 12:25:49
你说得对,SQLite不是用来生产的。Postgres或MySQL更适合生产环境。您必须编辑您的database.yml:
production:
adapter: postgresql (or mysql2)
encoding: utf8
database: databasename
username: yourusername
password: yourpassword
host: yourhost
pool: 5然后,在控制台中,使用命令迁移数据库结构:
rake db:migrate RAILS_ENV="production" https://stackoverflow.com/questions/26689140
复制相似问题