使用现有的数据库和表与Sinatra和Datamapper?

Cashman04

我将在周末与Sinatra一起玩,以评估我公司的一个小型Wiki网站。

我遇到的问题是,我们已经有一个现有的MySQL数据库,其中包含我们所有的信息,供其他进程使用,因此我无法重新创建它并使用数据作为种子,因为那样的话,我会一头雾水两个不同的数据库使用相同的数据进行同步。

谁能给我一个使用Sinatra连接到MySQL数据库的示例类,如何从现有列中提取字段?

这是我的表的一个示例(来自create命令):

CREATE TABLE `serverinfo` (
  `DB` CHAR(10) NOT NULL,
  `SERVERNM` CHAR(30) NOT NULL,
  `INSTANCE` CHAR(30) NOT NULL,
  `LOCATION` CHAR(2) NOT NULL,
  `ROLE` CHAR(15) NOT NULL,
  `HOST` CHAR(180) NOT NULL,
  `STATUS` CHAR(1) NOT NULL DEFAULT 'A',
  PRIMARY KEY (`DB`, `SERVERNM`, `INSTANCE`, `LOCATION`, `ROLE`, `HOST`)
)

我不确定我是否可以使用Datamapper进行所需的操作,因此任何其他建议/示例都很好。如果我有一个从一个类中的多个表中提取数据的示例,那也很好。

锡人

Sinatra没有与数据库对话的规定。您可以使用mysql2 gem与数据库进行通信,但是我强烈建议您查看Sequel,它是一种非常灵活且功能强大的ORM,它使与旧数据库的通信变得非常容易。

仔细阅读READMECheat Sheet,您将很好地了解连接到现有数据库有多么容易,而无需担心对其进行修改。

这当然未经测试,但这是建立连接并从现有数据库中检索记录所需的基本步骤:

require 'sequel'
DB = Sequel.connect('mysql2://your_DB:credentials@host/table')
foo = DB[:serverinfo].select(:DB, :SERVERNM).where(:STATUS => 'A').first

将上面的代码包装在Sinatra中getpost处理程序中,它将检索记录。这样的事情会让你接近:

require 'sequel'
require 'json'

DB = Sequel.connect('mysql2://your_DB:credentials@host/table')

get '/' do
  content_type :json
  foo = DB[:serverinfo].select(:DB, :SERVERNM).where(:STATUS => 'A').first
  foo.to_json # would return the hash to the browser
end

至于使用Datamapper,请阅读Sequel主页顶部的引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Sinatra和Datamapper将数组从表单传递到数据库?

来自分类Dev

ElasticSearch和现有的MySQL数据库

来自分类Dev

Rails和现有的Postgres数据库

来自分类Dev

Flask Migration:在创建表和使用数据库中现有的Enum时出现问题。`create_type = False`不起作用

来自分类Dev

尝试使用Flask和SQLAlchemy访问现有的MySQL数据库时收到“ No Such Table”错误

来自分类Dev

如何在Android和Eclipse中保持现有的sqlite数据库?

来自分类Dev

现有的1-1关系和JDO映射的Oracle数据库

来自分类Dev

如何快速使用现有的SQLite数据库?

来自分类Dev

在Lampp中使用现有的MySQL数据库

来自分类Dev

在Cordova中使用现有的sqlite数据库

来自分类Dev

在Lampp中使用现有的MySQL数据库

来自分类Dev

如何为现有的postgres数据库创建用户(读写和只读)和管理员角色?

来自分类Dev

NetCore 3.1将IdentityServer4与现有数据库和Users表一起使用

来自分类Dev

如何使用laravel将表添加到我现有的数据库中?

来自分类Dev

如何将MVC模型类与现有数据库表和架构匹配

来自分类Dev

如何将MVC模型类与现有数据库表和架构匹配

来自分类Dev

如何使用nodejs在数据库中插入和更新现有数据?

来自分类Dev

从现有的.tsv文件初始化数据库表

来自分类Dev

将Pandas DataFrame写入现有的MySQL数据库表

来自分类Dev

我可以将休眠连接到现有的数据库表吗?

来自分类Dev

如何从现有的MongoDB数据库获取数据?

来自分类Dev

Python和Snowflake使用SQL Alchemy引擎将新数据追加到现有表中返回当前会话没有当前数据库

来自分类Dev

使用Ajax和PHP检查数据库中的现有用户

来自分类Dev

如何避免先使用Entity Framework代码和现有数据库进行迁移?

来自分类Dev

Rails-使用现有的数据库,无法运行迁移而不会丢失数据

来自分类Dev

获得MySQL数据库所有的“用户名”和“ID”和使用PHP分裂

来自分类Dev

如何添加和获取我所有的数据库表值(数字)并显示总额?C#

来自分类Dev

如何添加和获取我所有的数据库表值(数字)并显示总额?C#

来自分类Dev

EntityFramework 6现有数据库和新数据库的迁移?

Related 相关文章

  1. 1

    如何使用Sinatra和Datamapper将数组从表单传递到数据库?

  2. 2

    ElasticSearch和现有的MySQL数据库

  3. 3

    Rails和现有的Postgres数据库

  4. 4

    Flask Migration:在创建表和使用数据库中现有的Enum时出现问题。`create_type = False`不起作用

  5. 5

    尝试使用Flask和SQLAlchemy访问现有的MySQL数据库时收到“ No Such Table”错误

  6. 6

    如何在Android和Eclipse中保持现有的sqlite数据库?

  7. 7

    现有的1-1关系和JDO映射的Oracle数据库

  8. 8

    如何快速使用现有的SQLite数据库?

  9. 9

    在Lampp中使用现有的MySQL数据库

  10. 10

    在Cordova中使用现有的sqlite数据库

  11. 11

    在Lampp中使用现有的MySQL数据库

  12. 12

    如何为现有的postgres数据库创建用户(读写和只读)和管理员角色?

  13. 13

    NetCore 3.1将IdentityServer4与现有数据库和Users表一起使用

  14. 14

    如何使用laravel将表添加到我现有的数据库中?

  15. 15

    如何将MVC模型类与现有数据库表和架构匹配

  16. 16

    如何将MVC模型类与现有数据库表和架构匹配

  17. 17

    如何使用nodejs在数据库中插入和更新现有数据?

  18. 18

    从现有的.tsv文件初始化数据库表

  19. 19

    将Pandas DataFrame写入现有的MySQL数据库表

  20. 20

    我可以将休眠连接到现有的数据库表吗?

  21. 21

    如何从现有的MongoDB数据库获取数据?

  22. 22

    Python和Snowflake使用SQL Alchemy引擎将新数据追加到现有表中返回当前会话没有当前数据库

  23. 23

    使用Ajax和PHP检查数据库中的现有用户

  24. 24

    如何避免先使用Entity Framework代码和现有数据库进行迁移?

  25. 25

    Rails-使用现有的数据库,无法运行迁移而不会丢失数据

  26. 26

    获得MySQL数据库所有的“用户名”和“ID”和使用PHP分裂

  27. 27

    如何添加和获取我所有的数据库表值(数字)并显示总额?C#

  28. 28

    如何添加和获取我所有的数据库表值(数字)并显示总额?C#

  29. 29

    EntityFramework 6现有数据库和新数据库的迁移?

热门标签

归档