Prechádzať zdrojové kódy

Added sqlc to golink

Breandan Dezendorf 2 rokov pred
rodič
commit
f584b05276

+ 14 - 0
WORKSPACE

@@ -115,3 +115,17 @@ gazelle_dependencies()
 #    name = "com_github_julienschmidt_httprouter",
 #    importpath = "github.com/julienschmidt/httprouter"
 #)
+
+http_archive(
+    name = "com_plezentek_rules_sqlc",
+    sha256 = "ac0c69ad3f3f49a2f5c068a7ac946a52ce0d8389927f279eff2dca00f2631df1",
+    urls = [
+        "https://github.com/plezentek/rules_sqlc/releases/download/v0.9.1/rules_sqlc-v0.9.1.tar.gz"
+    ],
+)
+
+load("@com_plezentek_rules_sqlc//sqlc:deps.bzl", "sqlc_register_toolchains", "sqlc_rules_dependencies")
+
+sqlc_rules_dependencies()
+
+sqlc_register_toolchains()

+ 0 - 0
deps/hashicorp.bzl


+ 16 - 0
dezendorf/applications/golink/golink_database/BUILD.bazel

@@ -0,0 +1,16 @@
+load("@com_plezentek_rules_sqlc//sqlc:def.bzl", "sqlc_package")
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+sqlc_package(
+    name = "golink_database",
+    package = "database",
+    engine = "mysql",
+    queries = ["query.sql"],
+    schema = ["schema.sql"],
+)
+
+go_library(
+    name = "golink_data_library",
+    srcs = [":golink_database"],
+    importpath = "//dezendorf/applications/golink/golink_database",
+)

+ 39 - 0
dezendorf/applications/golink/golink_database/query.sql

@@ -0,0 +1,39 @@
+-- name: GetAuthor :one
+SELECT * FROM authors
+WHERE id = ? LIMIT 1;
+
+-- name: ListAuthors :many
+SELECT * FROM authors
+ORDER BY name;
+
+-- name: CreateAuthor :execresult
+INSERT INTO authors (
+  name
+) VALUES (
+  ?
+);
+
+-- name: DeleteAuthor :exec
+DELETE FROM authors
+WHERE id = ?;
+
+
+
+-- name: GetLink :one
+SELECT * FROM golinks
+WHERE name = ? LIMIT 1;
+
+-- name: ListLinks :many
+SELECT * FROM golinks
+ORDER BY name;
+
+-- name: CreateLink :execresult
+INSERT INTO golinks (
+  name, target
+) VALUES (
+  ?, ?
+);
+
+-- name: DeleteLink :exec
+DELETE FROM golinks
+WHERE id = ?;

+ 11 - 0
dezendorf/applications/golink/golink_database/schema.sql

@@ -0,0 +1,11 @@
+CREATE TABLE golinks (
+  id             BIGINT  NOT NULL AUTO_INCREMENT PRIMARY KEY,
+  name           text    NOT NULL UNIQUE,
+  target         text    NOT NULL,
+  visit_count    BIGINT
+);
+
+CREATE TABLE authors (
+  id     BIGINT  NOT NULL AUTO_INCREMENT PRIMARY KEY,
+  name   text    NOT NULL UNIQUE
+);