並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 65件

新着順 人気順

ORMの検索結果1 - 40 件 / 65件

  • Prisma ORMを2年運用して培ったノウハウを共有する

    TSKaigi 2024 ref: https://tskaigi.org/talks/tockn

      Prisma ORMを2年運用して培ったノウハウを共有する
    • 「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース

      「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース 静的サイトジェネレータAstro用のデータベースサービス「Astro DB」が登場しました。 簡単にAstroに組み込むことが可能で、Astroのバックエンドデータベースとして、例えばフォームやコメントのデータの入出力、ユーザー認証などに利用可能です。 Introducing: Astro DB Add a hosted database to any Astro project in seconds. Includes a TypeScript ORM, schema manager, and automatic migrations out-of-the-box. Try it today! Every database comes with a generou

        「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース
      • 数年来の技術的負債を改修した話 - 2種類のORM並列状態からの脱却 -

        はじめに 勝丸と言います。ログラスのエンジニアが毎週記事を発信するLoglass Tech Blog Sprint 2周目に突入しました。前回は「心穏やかにDBバージョンアップ!ロジカルレプリケーションで安全にバージョンを切り戻せるようにした話」という記事を書きました。こちらもよろしくお願いします。普段はログラスの横串組織で活動しています。 この記事では「数年来の技術的負債を改修した話 - 2種類のORM並列状態からの脱却 -」というタイトルで、年末から年始にかけてやっていた作業について共有します。 この記事で得られること リファクタリングのやり方や考え方 リリースへの持っていき方 投資判断のタイミングや負債解消について 経緯 ログラスでは2種類のORMが存在していました。創業時にORMとしてExposedを採用したのですが、後に一部機能が足りないことが発覚し、別のORMを利用し始めました

          数年来の技術的負債を改修した話 - 2種類のORM並列状態からの脱却 -
        • Prisma ORMを使いこなす ~歴史と対RDB運用の知見を添えて~

          CloudbaseはPostgreSQLのORMとしてPrismaを使用しています CloudbaseはAWS, Azure, Google Cloud等のパブリッククラウドを対象にしたセキュリティリスクの検出・管理SaaSです。 個人情報の入ったS3バケットを公開してしまうなどの設定ミスや、近年騒がれたLog4Shellなどの脆弱性をエージェントを使用せず検出し、その修正をサポートするプロダクトです。 CloudbaseではAPIサーバとしてNode.js、DBとしてPostgreSQLを使用し、そのORMとしてPrismaを使用しています。本記事では入門を超えて本番環境でPrismaを使いこなすために必要な知識、弊社がPrismaを運用する中で得た知見を共有していきます。 対象読者 PrismaをRDBのORMとして使っている人 雰囲気でPrismaを使っている人 これからPrisma

            Prisma ORMを使いこなす ~歴史と対RDB運用の知見を添えて~
          • Prisma ORM support for Edge functions is now in Preview

            March 12, 2024 Prisma ORM Support for Edge Functions is now in Preview We’re thrilled to share that support for edge functions is in Preview! You can now access your database with Prisma ORM from Vercel Edge Functions, Vercel Edge Middleware, Cloudflare Workers, and Cloudflare Pages. Try it out! What are edge functions? Edge functions are a form of lightweight serverless compute that's distributed

              Prisma ORM support for Edge functions is now in Preview
            • GitHub - instant-dev/instant: JavaScript API framework with ORM, migrations and vectors

              instant.dev provides a fast, reliable and battle-tested ORM and migration management system for Postgres 13+ built in JavaScript. For those familiar with Ruby on Rails, instant.dev adds functionality similar to ActiveRecord to the Node.js, Deno and Bun ecosystems. We have been using it since 2016 in production at Autocode where it has managed over 1 billion records in a 4TB AWS Aurora Postgres ins

                GitHub - instant-dev/instant: JavaScript API framework with ORM, migrations and vectors
              • 2023-10-03のJS: Node v20.8.0、Vitest v1.0.0-beta.0、instant.dev(Rails-inspired ORM/Migrations)

                JSer.info #663 - Node.js 20.8.0がリリースされました。 Node v20.8.0 (Current) | Node.js streamに関するフラグをビットマップで管理することでメモリ消費量とパフォーマンスが改善されています。 stream: use bitmap in readable state by benjamingr · Pull Request #49745 · nodejs/node vmにimportModuleDynamicallyオプションを追加、主にJestなどで起きていたvmのメモリリークの問題を修正なども含まれています。 Node.jsのアップデートが起因でJestのメモリリークが起きる問題としては、次のIssueがあります。 こちらのIssueは、Node.js 20.8.0ではまだ修正されていません。 [Bug]: Memory

                  2023-10-03のJS: Node v20.8.0、Vitest v1.0.0-beta.0、instant.dev(Rails-inspired ORM/Migrations)
                • 【PIXIV MEETUP 2023登壇セッション】限界ORM!BOOTHとギフトとライブラリ - pixiv inside

                  こんにちは!BOOTH部所属エンジニアのRND(らんど)です。 2023年9月29日に開催されたPIXIV MEETUP 2023のライトニングトークセッションにて「限界ORM!BOOTHとギフトとライブラリ」というタイトルで発表を行いました。 本記事はそちらの発表内容を元に記事に起こしたものです。 speakerdeck.com はじめに BOOTHのギフト機能の概要について 事例1:ライブラリでの表示 事例2:ギフトの複数回受け取り まとめ おわりに はじめに BOOTHは2013年にリリースされ2023年の12月に10周年を迎えるサービスで、Ruby on Railsで開発されています。 RailsではORMとしてActiveRecordが付属していますが、プロダクトを開発する中でActiveRecordの標準の機能では対応できないクエリが必要となるケースが多々あります。 そういった

                    【PIXIV MEETUP 2023登壇セッション】限界ORM!BOOTHとギフトとライブラリ - pixiv inside
                  • 【2023環境デッキ?】Bun + Hono + SvelteKit + Cloudflare D1 + Drizzle ORM - Qiita

                    【2023環境デッキ?】Bun + Hono + SvelteKit + Cloudflare D1 + Drizzle ORMCloudflareWorkersSvelteKitBunHonoCloudflareD1 WEB開発環境Tier1を組もうぜ? 大学からの友人に「俺は起業をするぞ!多少なら出すからWEBサイト作れん?」と言われたので あらゆる自由 を条件に(ほぼ)無償で引き受けた案件という名の趣味制作で「ぼくのかんがえた最強のWEBサイト」を目指してみました。保守運用の汎用性は犠牲となったのだ 今年もアドベントカレンダーに投稿する機会を得たので、環境構築過程とAPI接続ができるまでをご紹介します。(他の方々の記事もぜひ読んでください) 作業メモも兼ねているため中々な長さかつ読みづらいかと思いますが、必要な部分を掻い摘んで読んでいただければ幸いです。 自己紹介 '97年製 実務歴

                      【2023環境デッキ?】Bun + Hono + SvelteKit + Cloudflare D1 + Drizzle ORM - Qiita
                    • ORM のポリモーフィック関連は使うべきか?

                      データベースにおけるポリモーフィックは、子テーブルが複数ある親テーブルのうちどれか 1 つと関連することです。 この記事では、 images が users と posts のどちらかを親テーブルとして持つポリモーフィック関連を例に話を進めていきます。 データベースから見た問題点 ポリモーフィックの 1 番の問題としてテーブル間の関連がなくなることが挙げられます。これは外部キーを設定することができないからです。 外部キーは 2 つのテーブルを関連づけるキーですが、ポリモーフィックの子テーブルでは、行ごとに関連づけられる親テーブルが変わるために外部キーを一意に設定できません。 これにより以下の問題が発生します。 参照整合性がなくなる 外部キーを設定できないので、データベース上では参照整合性を保証できません。 そのためアプリケーションコードで制御する必要があります。 参照整合性 関連づけられて

                        ORM のポリモーフィック関連は使うべきか?
                      • GolangでORMを使うなら ent. がおすすめ!

                        1. はじめに 「Active Recordみたいな使用感のGolang製のORMが無いかなー?」と思って色々なORMを触っている中で、おすすめのORM「ent.」見つけたので備忘録+布教も兼ねて本記事を残そうと思います。 --- 2024/01/07 追記 --- 本記事で割愛していたVisualize the Schemaに関する記事を投稿しました。 スキーマの可視化に興味のある方は覗いてみてください。 2. ent.って何? Metaが開発しているGolang製のORMです。 近年、githubのスターも伸びており、公式のドキュメントも充実しているので安心感があります。 また、RailsやDjangoでの開発経験がある方には、以下の特徴があるため非常に馴染みやすいと思っています。 定義したschemaからテーブルが作れる Atlasを利用することで、マイグレーションのバージョンを管理

                          GolangでORMを使うなら ent. がおすすめ!
                        • Go言語のORMであるGORMをv1からv2へのマイグレーションした話 #LayerXテックアドカレ - LayerX エンジニアブログ

                          こんにちは。バクラク請求書チームでエンジニアをしている赤羽です。 昨年の12月のLayerXにJOINしたので、今月でちょうど1年経ちました。 この記事は  LayerXテックアドカレ2023  25日目の記事です。 前回はsh_komine が「相互理解の重要性と、促進するためのワークショップのご紹介」を書いてくれました。次回は@yoheiよりポストされる予定なのでご期待ください。 GORMとは GORMはGo言語の人気のあるORM(Object Relational Mapping)ライブラリです。 データベース(テーブル)とGoの構造体のマッピングを簡単に行うことができます。シンプルな構文、多様なデータベースサポート、マイグレーション、トランザクション管理など、豊富な機能が提供されています。 柔軟なクエリビルダーも提供され、開発者に使いやすいORMライブラリとなっています GORMに

                            Go言語のORMであるGORMをv1からv2へのマイグレーションした話 #LayerXテックアドカレ - LayerX エンジニアブログ
                          • GoでORMを自作してみる

                            第56回情報科学若手の会で発表したスライドです 自作したGoのORMのその仕組みについて話します

                              GoでORMを自作してみる
                            • Prisma ORM vs Drizzle

                              This page compares Prisma ORM and Drizzle. Drizzle vs Prisma ORMWhile Prisma ORM and Drizzle solve similar problems, they work in very different ways and have individual pros and cons. Which one to choose will depend on the needs of your project and the exact tradeoffs that are important for it. Drizzle is a traditional SQL query builder that lets you compose SQL queries with JavaScript/TypeScript

                                Prisma ORM vs Drizzle
                              • Symfony+Doctrine ORMで始める安全なモジュラモノリス

                                PHPカンファレンス2023「Symfony+Doctrine ORMで始める安全なモジュラモノリス」のスライドです。 ## トーク概要 モノリス全盛期〜マイクロサービスブームを経て、近年、両者のいいところ取りができるアーキテクチャとしてモジュラモノリスが話題になることも増えてきました。PHPでも流行のLaravelフレームワークでのやり方やハマりポイントの記事がありますが、基本的に密結合を指向しているLaravelをベースにかなり無理をして実現している事例を見かけます。 私が数年にわたってSymfony+Doctrine ORMをベースにモジュラモノリスでアプリケーションを開発してきた経験から、Laravelベースで開発するよりも数段楽にモジュラモノリスを実現できることを証明したいと思います。

                                  Symfony+Doctrine ORMで始める安全なモジュラモノリス
                                • GitHub - blefnk/relivator-nextjs-template: ⭐ Next.js 14: Store, Landing, Admin Dashboard ▲ i18n, Stripe, Shadcn Tailwind, Drizzle Zod Trpc TypeScript Auth Page, Lucide CSS Radix UI, Responsive React Server Components, MySQL and Neon Postgre TS ORM, Intl A

                                  ⭐ Next.js 14: Store, Landing, Admin Dashboard ▲ i18n, Stripe, Shadcn Tailwind, Drizzle Zod Trpc TypeScript Auth Page, Lucide CSS Radix UI, Responsive React Server Components, MySQL and Neon Postgre TS ORM, Intl App Router, Mdx Docs User Actions Kit, SaaS Commerce Shop Pricing Payments, Dark Mode, Modern Full Stack, Free ▲ more stars → more features

                                    GitHub - blefnk/relivator-nextjs-template: ⭐ Next.js 14: Store, Landing, Admin Dashboard ▲ i18n, Stripe, Shadcn Tailwind, Drizzle Zod Trpc TypeScript Auth Page, Lucide CSS Radix UI, Responsive React Server Components, MySQL and Neon Postgre TS ORM, Intl A
                                  • Go × PostgreSQL × SQLBoiler (ORM) × golang-migrate (マイグレーション) の開発環境を構築する - Qiita

                                    Go × PostgreSQL × SQLBoiler (ORM) × golang-migrate (マイグレーション) の開発環境を構築するGoPostgreSQLDockerSQLBoilergolang-migration 毎回環境を作るときに何かしらド忘れしてしまい手こずってしまうので忘れないようにメモ。 はじめに 下記の知識や経験があることを前提にしてます Go言語の基礎を理解している Dockerと docker-compose の基礎を理解している バックエンド開発やデータベースの基礎を理解している ORMの使い方や各種コマンドの詳しい説明はしません パスなどはご自身のプロジェクトの構成に合わせて適宜変更してください 作ったもののサンプルです。 開発環境 Go1.20 PostgreSQL 15 Docker docker-compose 使用するツール SQLBoler 

                                      Go × PostgreSQL × SQLBoiler (ORM) × golang-migrate (マイグレーション) の開発環境を構築する - Qiita
                                    • Prisma以外の選択肢、Drizzle ORMではじめるTypeScriptの快適SQLライフ

                                      エッジ環境で使えるORMを探していたところ、Drizzle ORMという新しいORMを知り、感動したので紹介します。 Drizzle ORMはTypeScript向けの強力で柔軟なRDB用のORMです。 Drizzle ORMの主な特徴 強力な型付け TypeScriptのORMなので当たり前ではありますが、強力な型付けによって型安全に開発することができます。 また、スキーマの定義を以下のようにTypeScriptで行うため、Prismaのようにスキーマを定義したあとにクライアントを生成するといったことは必要はありません。 export const popularityEnum = pgEnum('popularity', [ 'unknown', 'known', 'popular', ]); export const countries = pgTable( 'countries',

                                        Prisma以外の選択肢、Drizzle ORMではじめるTypeScriptの快適SQLライフ
                                      • Improving Cloudflare Workers and D1 developer experience with Prisma ORM

                                        Improving Cloudflare Workers and D1 developer experience with Prisma ORM04/03/2024 Working with databases can be difficult. Developers face increasing data complexity and needs beyond simple create, read, update, and delete (CRUD) operations. Unfortunately, these issues also compound on themselves: developers have a harder time iterating in an increasingly complex environment. Cloudflare Workers a

                                          Improving Cloudflare Workers and D1 developer experience with Prisma ORM
                                        • GoのORM決定版 Genをはじめよう - Qiita

                                          はじめに こんにちは、muff1225です。 2023年も終わりに近づいてきましたね〜 今年もGoたくさん書いて、たくさんリリースできましたか? 私は長らくGoのORMの書き味に悩んでいましたが、今年ようやく一つの答えに辿りつきました。 この記事ではgormのGenの開発者体験が最高だった、ということで感謝の意味を込めてgormのGenを紹介します。 GoのORM 歴史 みなさんはGoのプロジェクトでどんなORMを使ってますか? GoはORMを使う派 / 使わない派でくっきり分かれている印象です。 これはGoの思想として、標準パッケージを使うことがよしとされている文化的な背景や、まだ他言語に比べ歴史が浅いという背景があり、現時点でデファクトスタンダードなアプローチはありません。 とはいえGoにもORMパッケージはたくさんあり、Active Recordのようなフルパッケージのものであったり

                                            GoのORM決定版 Genをはじめよう - Qiita
                                          • Daichi Ninomiya on X: "マイベスト ◆ Next.js (app/RCS/Server Actions) ◆ shadcn/ui & Tailwind CSS - UI ◆ Bun - パッケージマネージャー ◆ Clerk - 認証 ◆ Resend - メール送信 ◆ Tally - フォーム ◆ Vercel - ホスティング ◆ Vercel Postgres - DB ◆ Vercel Blob - ストレージ ◆ Prisma - ORM"

                                            • NestJSに最適のORMを考えてみる(Prisma VS TypeORM)

                                              Sequelizeは使ったことがないので、表に入れていません 私が以前働いていた会社のグループ会社でSequelizeを利用しているチームがあり、運用に耐えられるだけの安定性はあると聞きました。 しかし、書きっぷりは古く、あまり近年は使われていない印象です。 TypeORMを使った感想 トランザクション周りの安定性が貧弱で、ロールバックしたはずなのにデータベースに反映されていたことが過去によくありました🤮 個人的に、コードは読みやすく書きやすく、Prismaより複雑なクエリでも簡単に書けるので、安定性を除けば良いライブラリだと思います。 インターネット上に情報も多いです。 NestJSの公式Discordでは多対多の実装をする時のカーディナリティの設定がダルいという意見がありましたが、その場合は中間テーブルを使って多対多を解消しましょう。 Prismaを使った感想 設定ファイルPrism

                                              • Cloudflare D1でのトランザクションと、Drizzle ORMの対応 | Memory ice cubes

                                                出オチですが、Cloudflare D1には、いわゆるSQLのトランザクションは実装されてない。 つまり、D1に対して発行されたSQL文の中に、BEGIN TRANSACTIONとか書いてあると、D1_ERROR: not authorizedとかいうエラーになる。 https://github.com/cloudflare/workerd/blob/e78561270004797ff008f17790dae7cfe4a39629/src/workerd/api/sql-test.js#L251 (もっとわかりやすいエラーメッセージにしてほしい) 代わりにbatch() D1 client API · Cloudflare D1 docs https://developers.cloudflare.com/d1/platform/client-api/#batch-statements 絶

                                                  Cloudflare D1でのトランザクションと、Drizzle ORMの対応 | Memory ice cubes
                                                • Is ORM still an anti-pattern? | Hacker News

                                                  I've been doing ORM on Java since Hibernate was new, and it has always sucked. One of the selling points, which is now understood to be garbage, is that you can use different databases. But no-one uses different databases. Another selling point which is "you don't need to know SQL", is also garbage. Every non-trivial long-lived application will require tweaks to individual queries at the string le

                                                  • DjangoのORMを触るあるSQLおじさんの悩み

                                                    Deno に Web 標準 API を実装する / Implementing Web Standard API to Deno

                                                      DjangoのORMを触るあるSQLおじさんの悩み
                                                    • Prisma ORMのEdgeサポートなど : Cybozu Frontend Weekly (2024-03-19号)

                                                      こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。 はじめに サイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。 今回は、2024/03/19 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 Prisma ORM support for Edge functions is now in Preview Prisma が Preview の機能として Edge ランタイムサポートを発表しました。Vercel や Cloudflare Worker でのサポートを発表しており、これらのサービスでは Prisma を使用しているアプリをデプロイするだけで動かせるようになります。 #57465 Infer typ

                                                        Prisma ORMのEdgeサポートなど : Cybozu Frontend Weekly (2024-03-19号)
                                                      • goのORMのentとデータベースのschema管理ツールatlasでVersioned Migrationする

                                                        sampleappディレクトリにアプリケーションを作成していく。データベース関連はdatasourceディレクトリにまとめることにした。 mkdir -p ~/go/src/github.com/renoinn/sampleapp cd ~/go/src/github.com/renoinn/sampleapp go mod init mkdir datasource cd datasource

                                                          goのORMのentとデータベースのschema管理ツールatlasでVersioned Migrationする
                                                        • Bun ORMでマルチテナントに対応する - Qiita

                                                          はじめに この記事ではGo言語のBun ORMを使用している際に、マルチテナントに対応する方法を説明する記事です。BunのGitHubにはexampleとしてmulti-tenantが示されていますが、ドキュメントには詳しくはされていません。 この記事ではGitHubの例をベースにマルチテナントを実装可能になることを目標とします。 解説 公式ではマルチテナント以外の部分も合わせてModel and query hooksとして示されています。 https://bun.uptrace.dev/guide/hooks.html 公式例 公式が示しているexampleはGitHubから見ることが可能です。 https://github.com/uptrace/bun/tree/master/example/multi-tenant ただ、READMEを見ていただければ分かる通り、実装内容の解説は

                                                            Bun ORMでマルチテナントに対応する - Qiita
                                                          • ORMクラスで大量データを一気に処理:効率的なBulk操作を習得する#ORM #データ処理 - ヒトリ歩き

                                                            大量データを1件ずつ登録、更新、削除をした場合、データベースとのやりとりが必要になる。 そのため、大量データをまとめて投入したい。 その方法として、bulk insertなどがある。 SQLAlchemyのORMを使ってbulk操作を実現するのか確認する。 wa3.i-3-i.info Bulk Insert insert関数にORMクラスを指定して実行する。 ここでは、insert後に確定するidがあるので、returning関数を指定して、insert後のデータを取得する。 returning関数で結果を取得するには、scalars関数を使う必要がある。 returning不要であれば、execute関数でもOK。 ただし、returningから返却されるデータの順序は保証されていない。 順序を保証するために、sort_by_parameter_orderパラメータを指定する必要がある

                                                              ORMクラスで大量データを一気に処理:効率的なBulk操作を習得する#ORM #データ処理 - ヒトリ歩き
                                                            • 外部制約のスキーマを自動生成してくれて、構造体の定義も簡単 RustのORMライブラリ「Diesel」を使ってみて感じたこと

                                                              パイオニア株式会社のダンヒョンジュン氏が、RustのORMライブラリの1つ「Diesel」を使用してみて感じた良い点・弱点について紹介します。 本セッションの流れ ダンヒョンジュン氏(以下、ダン):それでは、私のから発表させていただきます。「dieselを活用してSQLを作成しよう」という話題として、ORMの1つである「Diesel」を紹介したいと思っています。 では、パイオニア株式会社のダンヒョンジュンから発表します。簡単な流れです。自己紹介はもう終わっているので飛ばしますね。次はDieselとは何かということと、Dieselで開発して良かったこと、辛かったこと。あとはDieselの実装の簡単な例。あとは最後の一言という流れになります。 言っておきたいことです。私は2023年4月から初めてRustを使ってDieselを経験してきたので、短い経験ですが、「私でもこういうのを感じた」というこ

                                                                外部制約のスキーマを自動生成してくれて、構造体の定義も簡単 RustのORMライブラリ「Diesel」を使ってみて感じたこと
                                                              • Prisma ORM を Python で使ってみる - 鈴木商店ブログ

                                                                こんにちは、鈴木商店の佐野です。 最近 Prisma というORMを触る機会があり素晴らしいなぁと色々調べていたらPrismaをPythonで使うことを目的とした Prisma Client Python というプロジェクトを発見したので試してみました。(本家PismaはTypeScriptのORM) 私は普段の実装のほとんどがPythonなので、PythonでPrismaの開発体験が得られると考えると非常に嬉しいです。 ブログに書きたくなるほど嬉しいです。 PrismaはDBと直接やりとりするエンジン部分はRustで実装されています。アプリケーションは Prisma Client を使って、そのエンジン部分とやりとりすることでDBを操作しています。今回試す Prisma Client Python は Python用 の Prisma Client という位置付けのようで、NodeやTy

                                                                • GoのORMの人気ランキングを年ごとにまとめてみた

                                                                  概要 GoのO/R Mapperについてまとめてみました。 GoのO/R Mapperを選定する際に、gormは有名だけど他にないかな〜と思ったため興味本位で探してみました。 取得方法 取得方法として、GitHub-APIを使用しました。 理由として年単位でスターの上がり幅を比較し、流行りすたりを可視化したかったためです。 ※取得対象はスターの数が1,000個以上リポジトリのみとなります。 実際のリポジトリは以下になります。 年間隔スター数上限グラフ リポジトリごとの情報 No. Project Name Stars Subscribers Forks Open Issues Description Createdate Last Update

                                                                    GoのORMの人気ランキングを年ごとにまとめてみた
                                                                  • SQLが複雑でORMが適用できなかったケースとしてはどのようなものがありましたか。また生のSQLとして書いた結果、後に困ったこと... - Yahoo!知恵袋

                                                                    ORMは、オブジェクト指向言語の特定のクラスのインスタンスと、RDBのテーブル(またはビュー)の行(レコード)をマッピングするものです。言ってみれば、RDBにOODBであるかのような振りをさせるフレームワークですよね。ですから、それ以外が目的のSQLは適用できないですよね。 例えば、集計関数を使うようなものは、適用対象外です。それから、ER図でリレーションシップが定義されていないようなテーブルをアドホックな条件で結合するようなものも、ORMとは別の世界の話なので、適用対象外です。 関係モデルには、射影(プロジェクション)という、特定の属性を取り出す演算がありますが、オブジェクト指向にはそういう演算はありませんので、ORMを使って対応すると、きれいな実装になりません。 ORMの範囲を超えたことを、無理やりやろうとするから、生のSQLが必要になるんですよね。

                                                                      SQLが複雑でORMが適用できなかったケースとしてはどのようなものがありましたか。また生のSQLとして書いた結果、後に困ったこと... - Yahoo!知恵袋
                                                                    • Golangの新しいORM「Bun」を触ってみた - Qiita

                                                                      はじめに 本記事は フューチャー Advent Calendar 2023 24日目の記事です。(クリスマスイブですね。) 今回はGolangのORM「Bun」を触ってみたのでその、個人的に気になっていた点である、データの挿入周りついて記事にしたいと思います。 Bunとは BunはGo言語用のSQLファーストのORM(Object-Relational Mapping)ライブラリで、PostgreSQL、MySQL(MariaDBを含む)、MSSQL、SQLiteなどのデータベースシステムに対応しています​。 以下公式サイトです。 Why Not ...? の章や公式サイトからも GORM と比較していることが多いです。 「Bun」は「gorm」と比較してBunは、余計な機能などが少なく、ライブラリのサイズが小さいことや、コードベースでの記述が少なく、シンプルであるため処理が高速です。 環

                                                                        Golangの新しいORM「Bun」を触ってみた - Qiita
                                                                      • Cloudflare D1の、複数テーブルのJOINで同名のカラムが取得できないバグとその理由、そしてDrizzle ORMでの対処法 | Memory ice cubes

                                                                        どういうこと?ってなりますよね。私はなりました。 🐛 BUG: when trying to left join 2 tables that have same name columns - second column is not returned · Issue #3160 · cloudflare/workers-sdk https://github.com/cloudflare/workers-sdk/issues/3160 こういうこと たとえばこういうスキーマ。 categories { TEXT slug PK TEXT name } posts { TEXT slug PK TEXT category_slug FK TEXT title } 各ポストは、単一のカテゴリに属するとする。まあ、ありがちなテーブル構成かと。 重要なのは、slugという同名のカラムがあるところ。

                                                                          Cloudflare D1の、複数テーブルのJOINで同名のカラムが取得できないバグとその理由、そしてDrizzle ORMでの対処法 | Memory ice cubes
                                                                        • [仕事] 信頼できる人には 『カクドウセイ』が備わっているよね - ORM ねこの遊び庭

                                                                          『カクドウセイ』 とは 確動性(カクドウセイ)という言葉は 『普通の会社員がフリーランスで稼ぐ』 という書籍の 自走性と確動性 で紹介されていました。 確動性の意味を本書から引用すると、 相手の意図するところを正確に把握し、確実に動く (普通の会社員がフリーランスで稼ぐ P. 130) です。 繰り返すと、 相手の意図を正確に把握し、確実に動く です。 このことを、筆者の会社では 自走正 とか 確動性 と呼んでいるそうで、もともとはリクルート社の社内用語、ということでした。 限られた時間、環境下でクライアントの要望をくみ取り「確実に動く」「確実にやり遂げる」そうした「確かさ」は非常に重要なポイント (普通の会社員がフリーランスで稼ぐ P. 130) と、続くように、 「確実に動く」 、 「確実にやり遂げる」 という「確かさ」はたいへんな強みといえるポイントです。 そして「確かさ」こそが 「

                                                                            [仕事] 信頼できる人には 『カクドウセイ』が備わっているよね - ORM ねこの遊び庭
                                                                          • ORMは使ったほうがよいの?SQL - Qiita

                                                                            目的 LaravelのEloquent(エラクエント)を、今まで使用することが多く、SQLを書く際は、Eloquantで表現すると逆に複雑になるときや表現できないときに生SQLを書いていて、どちらのほうがいいんだろうと思い調べてみた。 ORMの特徴 ・特定のクラスとテーブルが一対一になっていて、そのクラスのインターフェースを使用し、データ操作を行える ・データ取得時に、そのデータを元にオブジェクトを生成 ORM(オブジェクト リレーション マッピング)を実現する仕組みをORマッパーという Webフレームワークに標準で装備されていることが多い ORMのメリット ・SQL処理が、簡単に短く書ける ・MySQL、PostgreSQL、Oracle、SQLiteなどDBを変えた際(文法が異なる)でもORMがクッションとなり、ORMを使って書いたものは、実行することができる。 ORMのデメリット ・

                                                                              ORMは使ったほうがよいの?SQL - Qiita
                                                                            • 開発を支える技術 ~ORMフレームワーク編~ - Qiita

                                                                              ORM(Object-Relational Mapping)とは? 下手な説明をするよりも、Wikipediaに頼った方が確実なので、まずは概要を抜粋させていただきます。 オブジェクト関係マッピング(英: Object-relational mapping、O/RM、ORM)とは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。 具体的に言うと、オブジェクト指向プログラミング言語(Java,C#...)におけるオブジェクトと関係データベース(Olacle,MySQL...)におけるレコードを「対応づける(Mapping)」プログラミング技法のことです。 ORMをなぜ使うのか? オブジェクト指向プログラミング(以下,OOP:Object-oriented programming)と関係データベース(以

                                                                                開発を支える技術 ~ORMフレームワーク編~ - Qiita
                                                                              • 最近注目のDrizzle ORMをNext.jsで使ってみた

                                                                                はじめに drizzleというTypeScriptのORMが良さそうなので触ってみました! ORMのスキーマを定義することで、zodのバリデーションスキーマが生成される点が気に入っています。 Git Hubのスターも今年の4月頃から伸びています。 今回は、Drizzleを使ってマイグレーションを行い、Next.jsのRoute HandlersでCRUDのREST APIを作成するところまでの記事を作成します。 また、今回の記事では、Drizzleのマイグレーションツールを使いますが、 別の方法として、マイグレーションをDrizzleではないツールを使い、 DBの情報をもとにDrizzleのスキーマファイルを生成することもできます。 データベースはPostgresです。 ソースコード マイグレーション Next.jsひな形作成 Next.jsのプロジェクトがなければ作成してください。

                                                                                  最近注目のDrizzle ORMをNext.jsで使ってみた
                                                                                • Spring FrameworkはORM(Object Relational Mapping)としてJPAを推奨しているらしい... - ts0818のブログ

                                                                                  www.itmedia.co.jp ⇧ 対象が欧州というのは、 www.jetro.go.jp ⇧ 政策が関係してるんかな? 何にせよ、スキル教育を受けることができるなんて羨ましいですな。 こうして、また、技術の学習のモチベーションが下がるのであった... Spring FrameworkはORM(Object Relational Mapping)としてJPAを推奨しているらしい... Spring Frameworkの公式のドキュメントによりますと、 spring.pleiades.io https://spring.pleiades.io/spring-framework/reference/data-access/orm/introduction.html ⇧ とあり、 『Spring Framework は、Java Persistence API(JPA)との統合をサポートし、

                                                                                    Spring FrameworkはORM(Object Relational Mapping)としてJPAを推奨しているらしい... - ts0818のブログ