将 C# 应用程序连接到 Ruby on Rails SQL 数据库

问题描述 投票:0回答:3

我构建了一个 Ruby on Rails 应用程序,并使用瘦服务器在本地主机端口 3000 上运行它,然后我通过路由器使用端口转发以使其在网络上可用。 我还使用 Sqlite3 进行 RoR,效果很好。问题是我不确定数据库是如何保存的......例如,当我开发时,对 schema.rb 进行更改将删除数据库中保存的所有数据。

我习惯了 Apache 2,其中 MySQL 文件夹中有一个 SQL 文件,我可以轻松备份该文件,但我没有看到 RoR 的情况。 RoR MySQL 数据库到底在哪里? 另外,我不确定瘦服务器是正在开发中运行还是仍在生产中运行。

类似地,我有一个 C# 应用程序需要连接到 RoR 数据库,但因为我不知道它位于哪里,所以无法连接到它。 我认为它将位于“localhost”上,但我不确定数据库名称和其他凭据。

对于 PHP,我通常使用 phpmyadmin,它非常适合数据库管理,也非常适合做备份等。我想对 RoR 做同样的事情,但无法弄清楚 SQL 数据库位于哪里。

我期待在这个问题上得到任何帮助

谢谢!

ruby-on-rails database sqlite
3个回答
1
投票

默认情况下,Rails 使用 sqlite 数据库。如果你想将其连接到另一个应用程序,我建议切换到 mysql。


1
投票

sqlite 数据库默认存储在 'db/#{databasename}.sqlite' 下。您应该能够使用 SQLite 的任何等效库通过 C# 打开它们。 (libsqlite?还有别的吗?)


0
投票

要使用提供的 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 密码:(使用适当的环境变量或秘密管理) 数据库:my_app_render_product 身份连接:

根据您的示例配置,它是为身份数据库设置的。 雷迪斯:

Redis 服务器的主机设置为 localhost。 笔记: 将 替换为实际的生产密码或使用环境变量以确保安全。 确保您的 PostgreSQL 角色和数据库设置正确,并且用户具有必要的权限。 确保密码等敏感信息得到安全管理,最好通过环境变量或秘密管理服务进行管理。 通过使用适当的连接字符串更新 appsettings.Development.json,您的 .NET 应用程序应该能够按照 Rails 设置中的配置连接到 PostgreSQL 数据库。

© www.soinside.com 2019 - 2024. All rights reserved.