Pesquisar

Artigo
· Out. 6 3min de leitura

GORM e InterSystems IRIS: Presentando gorm-iris

Si pensabais que el soporte nativo de Go para IRIS era emocionante, esperad a ver lo que pasa cuando GORM entra en juego


Hace poco dimos la bienvenida al soporte nativo de GoLang para InterSystems IRIS con el lanzamiento de go-irisnative. Eso fue solo el comienzo. Ahora vamos un paso más allá con el lanzamiento de gorm-iris, un controlador GORM diseñado para llevar el poder del Object Relational Mapping (ORM) a vuestra combinación de IRIS + Go.

¿Por qué GORM?

GORM es una de las bibliotecas ORM más populares en el ecosistema de Go. Facilita la interacción con las bases de datos usando structs de Go en lugar de escribir SQL puro. Con funciones como migraciones automáticas, asociaciones y creación de consultas, GORM simplifica mucho el desarrollo de backend.

Así que, naturalmente, el siguiente paso después de permitir que Go se comunique de forma nativa con IRIS era hacer que GORM funcionara sin problemas con él. Y eso es exactamente lo que hace gorm-iris.


¿Qué es gorm-iris?

gorm-iris es un controlador GORM personalizado para InterSystems IRIS, construido sobre go-irisnative. Actúa como un puente que permite a los desarrolladores usar la sintaxis y los patrones familiares de GORM para interactuar con una base de datos IRIS, mientras que todo el trabajo pesado por detrás se gestiona mediante llamadas nativas a IRIS. 

Pensad en ello como lo mejor de ambos mundos:

  • Rendimiento y acceso a datos nativos a través de go-irisnative
  • Funcionalidades de ORM fáciles de usar gracias a GORM

Características clave

Esto es lo que podéis esperar de gorm-iris:

✅ Integración fluida entre GORM e IRIS
✅ Uso de structs nativos de Go para modelar vuestros datos en IRIS
✅ Operaciones básicas de CRUD listas para usar
✅ Comportamiento personalizable a través de interfaces de Go

Y por supuesto, todo es de código abierto.


Ejemplo rápido para empezar

¿Queréis empezar? Aquí tenéis una configuración mínima para mostrar cómo funciona:

package main

import (
	"fmt"
	iris "github.com/caretdev/gorm-iris"
	"gorm.io/gorm"
)

type User struct {
  ID    int
  Name  string
  Email string
}

func main() {
  dsn := "iris://_SYSTEM:SYS@localhost:1972/USER"
  db, err := gorm.Open(iris.Open(dsn), &gorm.Config{})
  if err != nil {
    panic("failed to connect to IRIS")
  }

	// Auto-migrate schema
  db.AutoMigrate(&User{})

  // Create
  db.Create(&[]User{
		{Name: "Johh", Email: "john@example.com"},
		{Name: "Johh1", Email: "john1@example.com"},
		{Name: "John2", Email: "john2@example.com"},
	})

  // Read
  var user User
  db.First(&user, "email = ?", "john1@example.com")
	fmt.Printf("Found: ID: %d; Name: %s\n", user.ID, user.Name)
}

Sí, eso es realmente todo.


¿Qué hay bajo el capó?

El controlador gorm-iris traduce las operaciones de GORM en llamadas nativas a través de go-irisnative. Esto significa que seguís teniendo la velocidad y eficiencia del acceso directo a IRIS, pero con una abstracción de más alto nivel para los casos de uso diarios.

Es ideal para desarrolladores que:

  • Quieren construir aplicaciones en Go con IRIS como backend
  • Prefieren el desarrollo al estilo ORM en lugar de la construcción directa de consultas
  • Buscan crear prototipos o aplicaciones a gran escala con código Go limpio y legible

Hacia dónde se dirige

Esto es solo la versión 0.1.1 — estamos trabajando activamente en mejorar la cobertura de funcionalidades, la optimización del rendimiento y el manejo de características más complejas de GORM.

Si lo usáis y tenéis comentarios o solicitudes de funciones — ¡los issues y PRs son bienvenidos!

👉 Echad un vistazo al repositorio: https://github.com/caretdev/gorm-iris 


Reflexiones finales

Con go-irisnative abrimos la puerta para que los desarrolladores de GoLang hablen con InterSystems IRIS. Con gorm-iris, les invitamos a quedarse a cenar.

Esta librería trata de hacer que IRIS se sienta como en casa en vuestro flujo de trabajo de desarrollo en Go. Es limpia, expresiva y aprovecha las herramientas que los desarrolladores de Go ya adoran.

Así que adelante — probadla, construid algo interesante y contadnos qué pensáis.

Discussão (0)1
Entre ou crie uma conta para continuar
Discussão (0)2
Entre ou crie uma conta para continuar
Anúncio
· Out. 6

Vuelve a ver el webinar "De los datos al conocimiento: Sacando provecho a la Información Clínica con InterSystems e IA"

Hola! 

¿Qué tal se presenta la semana? 🚀 El jueves tuvimos un webinar fantástico con @Rodrigo Barahona. A parte de unas reflexiones sobre el sector sanitario y la posibilidades de la IA, nos mostró su aplicación práctica a través de un agente creado con inteligencia artificial. También, @David Reche nos adelantó que en unos pocos meses volveremos a vernos en Madrid ¡lo estamos deseando! 😶 No queremos revelar demasiado aún... pero estad atentos  

 

Hubo varias dudas, comentarios y en general ¡os gustó mucho! Normal, Rodrigo es un maestro de esto. Agradecemos su participación, humor y dinamismo en la explicación. 

➡ ¿Qué? ¿Os lo perdisteis? Tranquilos... Podéis volver a verlo en la plataforma donde se emitió, a máxima calidad, o en nuestro canal de YouTube.

¡Buena semana a todos! 🙌

Discussão (0)1
Entre ou crie uma conta para continuar
Resumo
· Out. 6

【週間ダイジェスト】 9/29 ~ 10/05 の開発者コミュニティへの投稿

Artigo
· Out. 5 3min de leitura

GORM Meets InterSystems IRIS: Introducing gorm-iris

If you thought native Go support for IRIS was exciting, wait until you see what happens when GORM enters the mix.


Just recently, we welcomed native GoLang support for InterSystems IRIS with the release of go-irisnative. That was just the beginning. Now, we’re kicking things up a notch with the launch of gorm-iris — a GORM driver designed to bring the power of Object Relational Mapping (ORM) to your IRIS + Go stack.

Why GORM?

GORM is one of the most popular ORM libraries in the Go ecosystem. It makes it easy to interact with databases using Go structs instead of writing raw SQL. With features like auto migrations, associations, and query building, GORM simplifies backend development significantly.

So naturally, the next step after enabling Go to talk natively with IRIS was to make GORM work seamlessly with it. That’s exactly what gorm-iris does.


What Is gorm-iris?

gorm-iris is a custom GORM driver for InterSystems IRIS built on top of go-irisnative. It acts as a bridge, allowing developers to use the familiar GORM syntax and patterns to interact with an IRIS database — while all the heavy lifting behind the scenes is handled via native IRIS calls.

Think of it as the best of both worlds:

  • Native performance and data access via go-irisnative
  • Developer-friendly ORM features via GORM

Key Features

Here’s what you can expect from gorm-iris:

✅ Seamless integration between GORM and IRIS
✅ Use of native Go structs to model your IRIS data
✅ Basic CRUD operations out of the box
✅ Customizable behavior through Go interfaces

And of course, it’s all open source.


Quick Start Example

Want to get started? Here’s a minimal setup to show how things work:

package main

import (
	"fmt"

	iris "github.com/caretdev/gorm-iris"
	"gorm.io/gorm"
)

type User struct {
  ID    int
  Name  string
  Email string
}

func main() {
  dsn := "iris://_SYSTEM:SYS@localhost:1972/USER"
  db, err := gorm.Open(iris.Open(dsn), &gorm.Config{})
  if err != nil {
    panic("failed to connect to IRIS")
  }

	// Auto-migrate schema
  db.AutoMigrate(&User{})

  // Create
  db.Create(&[]User{
		{Name: "Johh", Email: "john@example.com"},
		{Name: "Johh1", Email: "john1@example.com"},
		{Name: "John2", Email: "john2@example.com"},
	})

  // Read
  var user User
  db.First(&user, "email = ?", "john1@example.com")
	fmt.Printf("Found: ID: %d; Name: %s\n", user.ID, user.Name)
}

Yes — that’s really it.


What’s Under the Hood?

The gorm-iris driver translates GORM operations into native calls through go-irisnative. This means you still get the speed and efficiency of direct IRIS access, but with a higher-level abstraction for everyday use cases.

It's ideal for developers who:

  • Want to build Go applications with IRIS as the backend
  • Prefer ORM-style development over direct query construction
  • Are looking to prototype or build full-scale apps with clean, readable Go code

Where It’s Headed

This is just version 0.1.1 — we’re actively working on improving feature coverage, performance tuning, and handling more complex GORM features.

If you’re using it and have feedback or feature requests — issues and PRs are welcome!

👉 Check out the repo: https://github.com/caretdev/gorm-iris


Final Thoughts

With go-irisnative, we opened the door for GoLang developers to talk to InterSystems IRIS. With gorm-iris, we’re inviting them to stay for dinner.

This library is all about making IRIS feel like home in your Go development workflow. It’s clean, expressive, and leverages the tools Go developers already love.

So go ahead — try it out, build something cool, and let us know what you think.

4 Comments
Discussão (4)2
Entre ou crie uma conta para continuar