Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

DBのマイグレーションツールは最初の設計の時点ですごく悩むことの一つです。 できるなら、使い慣れた形のマイグレーションツールを使いたいという方のほうが多いと思います。 本記事ではそんなマイグレーションツールの一つであるsqlalchemy-migrateというツールを紹介します。 ソースコードはこちら sqlalchemy-migrateは、pythonの代表的なORマッパーの一つであるsqlalchemyの文法をそのまま踏襲したマイグレーションツールで、sqlalchemyを用いて開発している方にとっては文法理解などの話が少なくて済むおすすめのマイグレーションツールです。 本記事ではsqlalchemy-migrateの導入から初歩的なテーブル管理までを解説します。 導入してみる インストールにはpipを使います。 $ pip install sqlalchemy-migrate その後
SqlAlchemy-migrateを使ってみる 概要 RailsのActiveRecordのMigrationに影響を受けて、SQLAlchemy を使ったプロジェクトのスキーマ管理をできるようにしたもの。 現時点での最新Verは0.8.2みたいです。 Package Index > sqlalchemy-migrate > 0.8.2 使用方法 ライブラリのインストール $ pip install sqlalchemy $ pip install sqlalchemy-migrate これにより"migrate"コマンドが使えるようになる。 $ migrate --help プロジェクトの作成 ※DBは既に存在していることを前提とする。今回はチュートリアルにのっとりSQLiteを使用します。 ちなみに初期Tableはこんな感じで作ってある。 # create_table.py from
先週は、レガシーなOracleデータベースと格闘していた(文字エンコーディングの件もその一つ)。 __table__と__tablename__の違い __table__は適切に設定済みのテーブルに対して使うらしい。自分でごちゃごちゃと設定したい場合は__tablename__と__table_args__を使うべし How to override a column name in sqlalchemy using reflection and descriptive syntax 複合プライマリーキーでのone-to-many 主キーが複合プライマリーキーの場合はそれぞれにprimary_key=Trueをつけるが、外部キーで一対多の関連付けをしたい場合には __table_args__で外部キー設定をしておく。 class Protocol(Base): __tablename__ =
背景 ArgoCDでGitOpsしているとします。ここで誤ってkube-system namespaceリソースを一度管理下に入れてpushし、revertしたとしましょう。このようにArgoCDが同期しているリソースが同期元から消えたとき、設定によって以下の2パターンのどちらかの挙動となります。 prune: true のとき 同期していたリソースの削除を自動的に試みる。リソースの削除が完了するとSyncedステータスになる。 prune: false のとき 同期していたリソースは削除されず、該当リソースの削除待ち状態となりApplicationリソースは OutOfSyncステータスになる。 手動で該当リソースを削除するとSyncedステータスになる。 まず前者の状態になるといきなり詰む可能性があります。基本的に使わない方がよいでしょう*1。 後者の場合、kube-system na
Basic Relationship Patterns¶ A quick walkthrough of the basic relational patterns, which in this section are illustrated using Declarative style mappings based on the use of the Mapped annotation type. The setup for each of the following sections is as follows: from __future__ import annotations from typing import List from sqlalchemy import ForeignKey from sqlalchemy import Integer from sqlalchem
SQLAlchemy1.2の基本的なクエリをまとめました! python初心者以上向けの記事です。 改めて読み返してみると、直した方が良さそうな箇所や、この機能書かないんかいってのがあるので修正予定です。 記述内容 ORMについて、動かしてみるところまで、select, limit, orderby, distinct, join, leftjoin, in, insert, update, delete, union, unionAll, sql吐き出し, sqlを直接実行について また、flask-sqlalchemyでは実行を試していません。 SQLAlchemyとは pythonのORMモジュール。 session.query(User).all() このようにSQL操作ができる。 ORM SQLをクラスとして扱えるようにしたもの。 使用する理由は、 ・SQLインジェクション対策が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く