<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Labstack_gorm_example_1</id>
	<title>Labstack gorm example 1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Labstack_gorm_example_1"/>
	<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Labstack_gorm_example_1&amp;action=history"/>
	<updated>2026-04-19T21:58:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://tech.uvoo.io/index.php?title=Labstack_gorm_example_1&amp;diff=5179&amp;oldid=prev</id>
		<title>Busk: Created page with &quot;``` package main  import (     &quot;github.com/google/uuid&quot;     &quot;github.com/labstack/echo/v4&quot;     &quot;gorm.io/driver/sqlite&quot;     &quot;gorm.io/gorm&quot; )  var db *gorm.DB  type Page struct {...&quot;</title>
		<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Labstack_gorm_example_1&amp;diff=5179&amp;oldid=prev"/>
		<updated>2024-04-08T15:49:02Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;``` package main  import (     &amp;quot;github.com/google/uuid&amp;quot;     &amp;quot;github.com/labstack/echo/v4&amp;quot;     &amp;quot;gorm.io/driver/sqlite&amp;quot;     &amp;quot;gorm.io/gorm&amp;quot; )  var db *gorm.DB  type Page struct {...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;```&lt;br /&gt;
package main&lt;br /&gt;
&lt;br /&gt;
import (&lt;br /&gt;
    &amp;quot;github.com/google/uuid&amp;quot;&lt;br /&gt;
    &amp;quot;github.com/labstack/echo/v4&amp;quot;&lt;br /&gt;
    &amp;quot;gorm.io/driver/sqlite&amp;quot;&lt;br /&gt;
    &amp;quot;gorm.io/gorm&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
var db *gorm.DB&lt;br /&gt;
&lt;br /&gt;
type Page struct {&lt;br /&gt;
    ID   uuid.UUID `gorm:&amp;quot;type:uuid;primaryKey&amp;quot;`&lt;br /&gt;
    Name string&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func main() {&lt;br /&gt;
    // Initialize Echo&lt;br /&gt;
    e := echo.New()&lt;br /&gt;
&lt;br /&gt;
    // Initialize GORM&lt;br /&gt;
    var err error&lt;br /&gt;
    db, err = gorm.Open(sqlite.Open(&amp;quot;gorm.db&amp;quot;), &amp;amp;gorm.Config{})&lt;br /&gt;
    if err != nil {&lt;br /&gt;
        e.Logger.Fatal(err)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Auto-migrate the schema&lt;br /&gt;
    if err := db.AutoMigrate(&amp;amp;Page{}); err != nil {&lt;br /&gt;
        e.Logger.Fatal(err)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Routes&lt;br /&gt;
    e.GET(&amp;quot;/pages&amp;quot;, getPages)&lt;br /&gt;
    e.POST(&amp;quot;/pages&amp;quot;, createPage)&lt;br /&gt;
&lt;br /&gt;
    // Start server&lt;br /&gt;
    e.Logger.Fatal(e.Start(&amp;quot;:8080&amp;quot;))&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Handler for GET /pages&lt;br /&gt;
func getPages(c echo.Context) error {&lt;br /&gt;
    // Retrieve all pages from the database&lt;br /&gt;
    var pages []Page&lt;br /&gt;
    if err := db.Find(&amp;amp;pages).Error; err != nil {&lt;br /&gt;
        return c.JSON(500, map[string]string{&amp;quot;error&amp;quot;: &amp;quot;Failed to retrieve pages&amp;quot;})&lt;br /&gt;
    }&lt;br /&gt;
    return c.JSON(200, pages)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Handler for POST /pages&lt;br /&gt;
func createPage(c echo.Context) error {&lt;br /&gt;
    // Bind request body to Page struct&lt;br /&gt;
    var page Page&lt;br /&gt;
    if err := c.Bind(&amp;amp;page); err != nil {&lt;br /&gt;
        return c.JSON(400, map[string]string{&amp;quot;error&amp;quot;: &amp;quot;Invalid request body&amp;quot;})&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Generate UUID for the ID field&lt;br /&gt;
    page.ID = uuid.New()&lt;br /&gt;
&lt;br /&gt;
    // Create new page record in the database&lt;br /&gt;
    if err := db.Create(&amp;amp;page).Error; err != nil {&lt;br /&gt;
        return c.JSON(500, map[string]string{&amp;quot;error&amp;quot;: &amp;quot;Failed to create page&amp;quot;})&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return c.JSON(201, page)&lt;br /&gt;
}&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>Busk</name></author>
	</entry>
</feed>