【问题标题】:Create a database and tables in runtime in Rails在 Rails 运行时创建数据库和表
【发布时间】:2018-06-21 00:34:07
【问题描述】:

是否可以在运行时在 Rails 应用程序中创建数据库和表?

例如:服务器收到带有一些数据的请求。然后,它应该在 PostgreSQL 中创建一个数据库,并在该新数据库中创建一些表。这可能吗?

【问题讨论】:

    标签: ruby-on-rails ruby postgresql


    【解决方案1】:

    是的,有可能。也许不推荐。

    【讨论】:

    • 你能提供更多关于为什么不推荐它的信息吗?
    【解决方案2】:

    使用 Sequel gem (http://sequel.jeremyevans.net/) 可以在运行时创建数据库,运行 SQL 脚本。

    我只在 PostgreSQL 数据库上尝试过,不确定其他人是否可以。

    对于 PostgreSQL 数据库

    连接到 PostgreSQL 服务器

    要连接到 PostgreSQL 服务器,您始终必须定义要连接的数据库。使用 'postgres' 数据库,这是 PostgreSQL 服务器创建的默认数据库(更多信息:Default database named postgres on Postgresql server)。

    db = Sequel.postgres('postgres', user, password, host, port)
    

    运行 SQL 脚本以创建数据库

    db.run "CREATE DATABASE my_new_db"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-07
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多