我构建了一个 Ruby on Rails 应用程序,并使用瘦服务器在本地主机端口 3000 上运行它,然后我通过路由器使用端口转发以使其在网络上可用。 我还使用 Sqlite3 进行 RoR,效果很好。问题是我不确定数据库是如何保存的......例如,当我开发时,对 schema.rb 进行更改将删除数据库中保存的所有数据。
我习惯了 Apache 2,其中 MySQL 文件夹中有一个 SQL 文件,我可以轻松备份该文件,但我没有看到 RoR 的情况。 RoR MySQL 数据库到底在哪里? 另外,我不确定瘦服务器是正在开发中运行还是仍在生产中运行。
类似地,我有一个 C# 应用程序需要连接到 RoR 数据库,但因为我不知道它位于哪里,所以无法连接到它。 我认为它将位于“localhost”上,但我不确定数据库名称和其他凭据。
对于 PHP,我通常使用 phpmyadmin,它非常适合数据库管理,也非常适合做备份等。我想对 RoR 做同样的事情,但无法弄清楚 SQL 数据库位于哪里。
我期待在这个问题上得到任何帮助
谢谢!
默认情况下,Rails 使用 sqlite 数据库。如果你想将其连接到另一个应用程序,我建议切换到 mysql。
sqlite 数据库默认存储在 'db/#{databasename}.sqlite' 下。您应该能够使用 SQLite 的任何等效库通过 C# 打开它们。 (libsqlite?还有别的吗?)
要使用提供的 Rails 配置将 .NET 应用程序连接到 PostgreSQL 数据库,您需要将 Rails 配置中的设置映射到 .NET appsettings.Development.json 文件。以下是您如何根据提供的 Rails 配置更新 appsettings.Development.json 文件。
更新了appsettings.Development.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Information"
}
},
"ConnectionStrings": {
"DefaultConnection": "Host=localhost; Port=5432; Username=api; Password=; Database=api_development",
"TestConnection": "Host=localhost; Port=5432; Username=api; Password=; Database=api_test",
"ProductionConnection": "Host=localhost; Port=5432; Username=my_app_render; Password=<your_production_password>; Database=my_app_render_production",
"IdentityConnection": "Host=localhost; Port=5432; Username=appuser; Password=secret; Database=identity",
"Redis": "localhost"
},
"Token": {
"Key": "super secret key",
"Issuer": "https://localhost:5001"
},
"ApiUrl": "https://localhost:5001/Content/"
}
说明: 默认连接:
主机:localhost(根据 Rails 配置的主机设置) 端口:5432(默认 PostgreSQL 端口) 用户名:api(您可能需要取消注释并在 Rails 中使用它,或者根据您的 PostgreSQL 设置进行更改) 密码:(留空,根据您的设置填写) 数据库:api_development 测试连接:
与 DefaultConnection 类似,但使用 api_test 数据库。 生产连接:
主机:localhost(如果您的生产数据库主机不同,请调整)
端口:5432
用户名:my_app_render
密码:
根据您的示例配置,它是为身份数据库设置的。 雷迪斯:
Redis 服务器的主机设置为 localhost。
笔记:
将