問題タブ [legacy-database]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 「検索」関数に二重引用符を追加するRuby on Rails
ruby on rails は初めてで、検索機能に問題があります。
oracle 拡張アダプター gem を使用して、レガシー Oracle データベースに接続する新しい Web アプリを作成しました。
Rails コンソールで次のコマンドを実行すると、データベースからデータが返されます
また
ただし、find() 関数を使用しようとすると、エラーが発生します。すなわち
また
License.all
Rails コンソールのエラー出力は次のとおりです。
エラー出力内の SQL コマンドを見ると、select ステートメントに二重引用符が追加されていることに気付きました。SQL Developer で SQL コマンドを実行しようとすると、エラーが発生しました。二重引用符が追加されている理由はありますか? ruby on rails がテーブル名に二重引用符を追加するのを止める方法はありますか?
更新Oracle データベースは 10g で、Ruby 1.9.2p290 で rails 3.2 を使用しています。私も次のことを試しましたが、同じエラーが発生しました。
License.all
sql - 従来のOracleデータベースおよびActiveRecordからの日付列のクエリに関する問題
私はレールに不慣れで、それがすべてどのように機能するかをまだ学んでいます。オブジェクトが入力されたすべての年のリストを取得できるように、従来のOracleデータベースの日付列から年のリストを取得しようとしています。Oracleデータベースは10gで、私はRails3.2とruby1.9.2p290を使用し、oracle拡張アダプターgemを使用しています。
現在、次のコードを使用してクエリを実行しています(.attributeは、クエリから何が返されるかを判断するのに役立ちます)。
私が返す結果は、アクセス方法がわからないデータベース列で見つかったすべての明確な年を含むハッシュの数です。
また、データベーステーブルの日付列からすべての行を選択して結果を出力しようとしました。ただし、解決方法がよくわからないOracleエラーが発生します。
次のエラーを教えてください。
Oracle Enhanced Adapterは、oracle初期化子の列名で日付をエミュレートするように構成されています。
また、ライセンスモデルの列を日付列に設定しました。
データベースの日付列のすべての行から個別の年を取得する方法はありますか?その1つの列から、固有の年のデータセットの望ましい結果を取得する方法がよくわかりません。
sql - Rails 3アプリケーションで生のSQLクエリを使用していますか?
レガシー データベースを Rails アプリケーション (3.2.3) に移行する作業を行っています。元のデータベースには、レポート用のかなりの数の長い SQL クエリが付属しています。今のところ、Rails アプリケーションで sql クエリを使用し、(時間が許せば) 1 つずつ sql クエリを「適切な」Rails クエリに交換したいと考えています。
臨床モデルがあり、コントローラーには次のコードがあります。
ただし、そのコードを実行すると、フォーマットに関連するいくつかのエラーが発生します。
コントローラーにインポートする前に、SQL クエリに対して行うべきことはありますか? クエリに問題がある可能性はありますが (かなり前に作成されたものです)、データベース内で直接実行すると期待どおりに動作します。次のような配列を返します。
ヘルプ、アドバイス、または一般的な指針をいただければ幸いです。
http://guides.rubyonrails.org/active_record_querying.htmlを読んで、SQLクエリを正しいRailsクエリに変換しようとしています。
これまでのところ、最後から 2 番目の行を一致させました。
と
赤ちゃんのステップ!
アップデート
Rails ガイド サイトのおかげで、今はフィルタリングがソートされていますが、SQL クエリのグループ化と合計の部分に行き詰まっています。これまでのところ、次のものがあります。
SQLクエリの次の2行を構築するのに苦労しています:
と
私のビューコードは次のようになります:
cqrs - レガシー システムでの CQRS
明確なドメイン モデルを持つ比較的新しい Web ベースのアプリケーションを、より CQRS スタイルのシステムに変換しようとしています。私の新しいアプリケーションは、基本的に古い既存のシステムを強化したものです。
私の組織の既存のシステムは、会社全体のサイロに存在する膨大な数のアプリケーション (カオス メソッドによって開発された) によって更新される一連の共通データベースを共有しています。(現状では、社内の 1 人ですべてを特定できる人はいないと思います。)
したがって、私の質問は、私のアプリケーションの読み取りモデルに関するものです。さまざまなステータスの変更、一般的なユーザー データなどは、私の制御外の他のアプリケーションによって更新されるため、外部の更新を処理できるように読み取りモデルを構築するのに最適な方法は何ですか?
これまでに次のことを検討しました。
- レガシーおよび新規のすべてのテーブルを読み取る読み取りモデルのデータベースにビューを作成します
- 既存のテーブルにトリガーを追加して、新しい読み取りモデル テーブルを更新する
- データベース (CLR Stored proc/etc [SQL サーバー]) にコードを追加して、読み取りモデルの外部データストアを更新します。
- 希望を捨てる
これにどのようにアプローチするかについての一般的なコンセンサスは何ですか? すべてをゼロから完全に書き直さずにレガシーシステムに秩序をもたらすことができると考えるのはばかげていますか?
mysql - Rails 3 - 列名 (レガシーデータベース)
重複の可能性:
Rails の列名のエイリアス
MySQL レガシー データベースにアクセスするための ActiveRecord モデルのモジュールを作成しています。私の問題は、データベースに次のような列の命名規則があることです: groupID
, metaGroupName
, flagName
. この命名規則でモデルをうまく機能させる簡単な方法はありますか?
更新:alias_attribute
可能であれば
、この方法は避けたいです。これは小さなデータベースではなく、エイリアスを作成する列が多くなります。おそらくオーバーライドできる列名を解釈する ActiveRecord のメソッドはありますか?
django - レガシー データベースのカスタム認証バックエンド
私はレガシー データベースを使用しているcontrib.auth.models.User
ため、認証にはデフォルトの Django の代わりに別のモデルを使用する必要があります。
私のモデルには、ユーザー名に使用される id フィールド ( )と、管理者がデータベース インターフェイスから定義するid = models.DecimalField(...)
パスワード ( ) のフィールドがあります。password = models.CharField(...)
私は独自の認証バックエンドを書きました:
些細なことかもしれませんが、ユーザーを作成し、独自のテーブルなどを持つdjangoの認証モジュールを使用しているため、使用するレガシーデータベースにもそれらを追加する必要がありますか?(現在、インスタンスで作業していますそれとsynchdbを使用すると、認証テーブルが追加されましたが、db自体を使用する場合はどうなりますか?同じことをする必要がありますか?)これは、アプリの既存の認証システムを処理する正しい方法ですか?
ruby-on-rails-3 - Rails 3 のレガシーデータベースとの単純な関連付け?
私はレガシーデータベースを扱っており、関連付けに関する Rails ガイドも読んでいます。
私は2つのモデルを持っています。diary
モデルとモデルanimal
。
日記.rb
動物.rb
動物のインデックス ビュー
ご覧のとおり、以下を使用して animal テーブルから DiaryQueue を表示しています。
そして、私は日記テーブルから DiaryName を表示しようとしています:
これは例外エラーで失敗します:
メソッドは次の@animals_todaysappointments
ようになります。
私が追加した場合:
動物モデルにすると、次のエラーが発生します。
各動物レコードには 0 ~ 10 の DiaryQueue 値があり、ダイアリー テーブルにはいくつかの行があります。行の例は次のとおりです。
DiaryNo が同じ行がありますが、DiaryName も同じです。これらの行で変更されるのは、DiaryDate、SlotHour、TotalSlots、BlockBooked、FreeSlot、および BookedSlot だけです。
エラーを回避するために、次をビューに追加しました。
しかし、私は例外を受け取ります:
私は何を間違っていますか?
fluent-nhibernate - 従来のテーブルの流暢な nhiberante マッピング
レガシー テーブルの流暢な nhibernate マッピングを定義する方法。
私は4つのテーブルを持っています
- CTType( ID GUID、名前varchar(100)、DateOFbirth datetime)
- CTType_Legacy( ID GUID, CTType_Legacy_id ID int)
- CTTypeMap ( id GUID、createdOn datetime、CtType_id GUID )
- CTTypeMap_Legacy( ID GUID, CT_Type_id int)
情報
- 最初の 2 つのテーブルには、50 レコードが固定されています。これらのテーブルは、データベースがクライアント用に構成されたときに初めて読み込まれます。
- 最初の 2 つのテーブル ID は、マッピング列 (主外部キー) です。
- 最後の 2 つのテーブル CtType_id は、CTType テーブルの Id 列にマップされます
ユーザーが新しい CTTypeMapObject を保存すると、UI から CTTypeMap テーブルにレコードが挿入されます。マッピングは次のように定義されます。
CTTypeMap_LegacyテーブルのCT_Type_id列の値は、 CTType_LegacyのCTType_Legacy_id列の値である必要があります。テーブルCTTypeMap_LegacyのCT_Type_idに正しい値を挿入できません。
コメントで強調表示された行でマッピングを行う方法を教えてください。
namespaces - 名前空間モデルでのテーブル名の設定
既存のレガシーデータベースに接続しているため、それらのデフォルトのレールテーブル名をオーバーライドしようとしている名前空間モデルがいくつかあります。
私のモデルは次のとおりです。
/app/models/licenses.rb
/app/models/licenses/employee.rb
/app/models/licenses/inspection.rb
テストを実行すると、エラーが次のように生成されます。
PG::エラー: エラー: 関係 "licenses_employees" が存在しません
名前空間モデルからプレフィックスを削除するために欠けているものはありますか?
更新: ライセンス モジュールのテーブル名のプレフィックスを '' ではなく 'testing_' に設定しようとしましたが、それでも同じエラー メッセージが表示されます。
oracle - レガシーデータベースでgrailsを使用する
レガシー Oracle データベースで Grails を使用する際の問題に直面しました。主キーのテキスト列 TARGETTYPECODE を持つ従来のテーブル TARGETTYPES があります。
Grails ドメイン クラスを作成しました。
また、コントローラークラスを作成しました:
アプリケーションが正常に開始されました。
リンク tmsconf.TargettypesController をクリックすると、コンソールにエラーが表示されます:
助けてください、どこが間違っていますか