Define database schemas in declarative code. Use HCL, SQL or any ORM or language. Supports all popular ORMs, such as GORM, Sequelize, Django, SQLAlchemy, Hibernate, and more.
English | 中文 | 日本語 | 한국어 Simple, yet powerful entity framework for Go, that makes it easy to build and maintain applications with large data-models. Schema As Code - model any database schema as Go objects. Easily Traverse Any Graph - run queries, aggregations and traverse any graph structure easily. Statically Typed And Explicit API - 100% statically typed and explicit API using code generation.
ドキュメント生成編 テーブル情報補完編 CI連携編 tblsを使うと、1コマンドでデータベースドキュメントを生成できます。 tbls とは tblsのKey featuresには以下のように記載しています Document a database automatically in GFM format. Output database schema in many formats. 1コマンドで、Markdown形式で生成されますので、そのままGitHubなどのリポジトリにコミットして閲覧することができます(ドキュメントも更新履歴が残ったほうがいいですからね)。 上記以外にもスキーマをPlantUMLやJSON、Excelファイルで出力する機能などもあります Single binary = CI-Friendly. Goで書かれているため、バイナリポン置きで利用できます。つまり、CIに組み込
v1.5.4: Bugs fixed in native and godrv packages. v1.5.3: Bugs fixed in new godrv code. v1.5.1: Conn.NetConn method added. v1.5: Needs Go 1.1 (time.ParseInLocation and net.Dialer) to compile. v1.4: Stmt.ResetParams, Stmt.Map and Stmt.NumFields methods disappeared. New Stmt.Fields method. godrv implements driver.Queryer interface which improves performance when compiled with Go tip. v1.3: Overall pe
近年はGo言語を用いたマイクロサービス開発がトレンドになっており、データベース周りの実装においてはGormがORMapperとして最も人気となっています。 Gorm - Github Ruby on RailsでいうActiveRecordのようにデファクトとも言えるORMapperであり、事前知識がなくともメソッドチェーンでクエリを作っていくことで、とても敷居が低くパワフルな機能を使うことができます。 一方でGithubのスター数の割には日本はもちろん海外を含めて実践にまつわる知見が不足しているので、実際にGormをプロダクトレベルで運用した経験からの注意点をまとめてみました。 (分かりやすい例としてRubyのActiveRecordとの比較を度々行っていますが、本来対立するもの同士ではないことを予め明示しておきます) SQLの知識は必要 少なくともGo言語を実戦投入しようとしている人で
こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかの本やサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そして本ブログでは、上記の講義
こんにちは、新規事業開発室のエンジニアの高橋(@__timakin__)です。 今回はDevFest Tokyo 2017というイベントに登壇者として行ってきました。 「golang.tokyo」枠で参加してきまして、一応Go関連の話をするということだったのですが、Goのコードの話はせず、Goを使っているブロックチェーン関連のプロジェクトの話をしました。 発表について スライドは以下です。 Blockchain on Go from Seiji Takahashi www.slideshare.net 発表の冒頭でブロックチェーンそもそもの概要を説明して、そのあとBlockchainとGoの関係について話す、という流れでした。 ブロックチェーンの概要部分について 個人的にはHyperledgerというのが好きなのですが、やはりEthereumが界隈では推されているんでしょうか。 極力その場
Go言語にはデフォルトでSQLやSQLライクなデータベースに接続するための インターフェースがデフォルトで用意されている。 それに各DB用のドライバーを追加して、データベースに接続する go-sql-driver/mysql のインストール package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "root:@/my_database") if err != nil { panic(err.Error()) } defer db.Close() // 関数がリターンする直前に呼び出される rows, err := db.Query("SELECT * FROM users") // if err !=
trdsqlというコマンドラインツールを作りました。 Goで作ってます。 githubの trdsqlからダウンロード出来ます。 またLinux/Windows/macOSのバイナリもあります。 以下は、古くなっている内容もいくつかあります。 最新版に対応した、より詳細な内容は trdsql 目次 | Noboru Saito's page を参照して下さい。 これは何? 簡単に言えばCSV(TSV含む)やLTSVに対してSQLを実行できるツールです。 同様のツールが q や textql 等いくつかあります。 trdsqlはPostgreSQLドライバとMySQLドライバを含んでいて実際にDBに接続することでSQLite以上の機能を使用できるようにしています。 PostgreSQLやMySQLの構文が使えるだけではなく、CSVファイルと実テーブルでJOINしたり、CSVファイルからテーブ
Using influxdb with ruby InfluxDB is an open-source time series database, written in Go. It is optimized for fast, high-availability storage and retrieval of time series data in fields such as operations monitoring, application metrics, and real-time analytics. We use it in chillout for storing business and performance metrics sent by our collector. InfluxDB storage engine looks very similar to a
データベースマイグレーションツールでフレームワーク非依存のもので有名所といえばflywayだが、Java製のツールであるためJVMを入れておく必要がある。JVMを入れるというのが意外とハードルで、稼働中の環境に入れる場合は影響範囲が怖かったり、CIのたびに容量が小さくないJVMを入れるのはちょっと・・・というケースもある。 そんなときにオススメしたいのがGo製のマイグレーションツールmattes/migrateだ。flywayと同じくCLIツールだが、JVMのようなランタイムは不要だ。ビルド済みのバイナリがGitHubで提供されていて、インストールはcurlやwgetですぐにできる。容量も7.1Mと小さい。MySQLやPostgreSQLなど主要なデータベースに対応している。Go製であるが、マイグレーションファイルは素のSQLで書くから、ユーザにはGo言語の知識は必要ない。 mattes/
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
WHY 機械学習のモデルはできたけど、サービスインするには何らかの形でweb側から動作できる形にする必要があります。 Railsだと重すぎるし、Go言語使いたい。 そのようなモチベーションから私はGo言語でAPIを作成しました。 Go言語のWEBフレームワークは多々ありますが、今回紹介する記事はrevelを用いています。 コンテナとコードを公開しているのですぐに動作を確認することが可能にしています。 Docker: https://hub.docker.com/r/masayaresearch/go_api/ github: https://github.com/SnowMasaya/go_revel_jwt_mysql revelを採用した理由は下記です。 testのための機能が揃っている deployも簡単 必要なサンプルがある WHAT 何をすることを想定しているか - 簡単な認証
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く