0
SQLAlchemy ORMで文字列ベースのシーケンスを作成しようとしています。私はベストプラクティスはテーブルのIDを管理するために整数ベースの列を使用することですが、私の場合は、私はIDのための文字列ベースのPKとしてデータを格納する必要があるプロジェクトのいくつかの要件のため、Pythonで文字列ベースのシーケンスを作成するSQL Alchemy
- "AAA1"
- "AAA2"
- "AAAN"
:
は、私はいくつかのデータベースでは、次のように文字列ベースのシーケンスを使用してデータを格納することが可能であることを知っていますしかし、SQLの錬金術では、Sequenceメソッドを使ってこれを達成することはできません。これはIntegerベースのシーケンスを生成するだけであり、シーケンス生成でプレフィックスを「追加」するオプションを見つけることができません。
これを達成するための簡単な解決策がありますか?私は16進数表現を取得するためにto_hex
機能を使用している例では
CREATE TABLE test(
id text PRIMARY KEY,
val text
);
CREATE SEQUENCE test_id_seq OWNED BY test.id;
ALTER TABLE test
ALTER id SET DEFAULT to_hex(nextval('test_id_seq'));
を、しかし、あなたはあなたが好きな任意の式を使用することができます。