【发布时间】:2018-06-21 00:34:07
【问题描述】:
是否可以在运行时在 Rails 应用程序中创建数据库和表?
例如:服务器收到带有一些数据的请求。然后,它应该在 PostgreSQL 中创建一个数据库,并在该新数据库中创建一些表。这可能吗?
【问题讨论】:
标签: ruby-on-rails ruby postgresql
是否可以在运行时在 Rails 应用程序中创建数据库和表?
例如:服务器收到带有一些数据的请求。然后,它应该在 PostgreSQL 中创建一个数据库,并在该新数据库中创建一些表。这可能吗?
【问题讨论】:
标签: ruby-on-rails ruby postgresql
是的,有可能。也许不推荐。
【讨论】:
使用 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"
【讨论】: